ImageDeck
Catalogue a shared folder of ISOs and find out which ones are the same file.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
Free while we’re in preview
Get ImageDeck
Catalogue a shared folder of ISOs and find out which ones are the same file.
The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.
One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.
Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.
- One file — no installer
- Runs on your machine, offline
- Source code published below
Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, ImageDeck is included in every plan along with the rest of the range.
final_v2_REAL.iso
Every team share ends up here. copy_of_copy.iso. ubuntu_backup_DO_NOT_DELETE.iso. Nobody remembers which are duplicates or which still boot. ImageDeck indexes the whole folder into one JSON catalog: path, size, mtime, SHA-256, the ISO 9660 volume identifier, and whether a real El Torito boot record is present.
Then the questions get easy
duplicates groups by SHA-256 and tells you the reclaimable bytes. Only byte-identical files ever group; images that merely share a size or a volume name never do. diff compares the catalog against the folder as it stands now, reports added, removed and changed, and exits 2 when anything differs, so it drops straight into cron. find --file ~/Downloads/thing.iso hashes a candidate and tells you whether that content is already in the library and under what name.
Read-only, and it means it
Images are opened read-only. The catalog is the only thing written, via a temp file and a rename.
Limits worth knowing
Bootable here means a valid El Torito record marks at least one entry bootable. That’s a structural claim, not proof it boots. Only names ending .iso are picked up. No Joliet, and no listing files inside an image. ISOPilot handles that half.
Reading on the job itself
- How to check an ISO before you write it to a USB stick Check the hash against the one the publisher printed, then look inside the image for the boot structures — ...
Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams
A working prototype of a catalog for a whole ISO library: index a folder once — volume ID, size, SHA-256, El Torito bootability — then ask the library-scale questions a single-image tool cannot. Which of these are byte-identical duplicates, what changed since last time, and do we already have this download? Verified against genisoimage output and isoinfo: volume IDs and sizes matched field for field, and two same-size, same-volume-ID images with different bytes were correctly not called duplicates.
Naming status
Working name only — brand verdict **AVOID** (Very High). Collision: ImageDeck. Rename completely.
What it draws on
Existing paid software whose best ideas shaped this program: PowerISO, DAEMON Tools Ultra, BurnAware Professional, WinToUSB Professional.
Command line
There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.
imagedeck - catalog a whole library of ISO 9660 images: duplicates, drift, bootability
USAGE
imagedeck <command> [options]
COMMANDS
index <dir> --catalog FILE [--recursive] [--json] Scan every .iso into the catalog
list --catalog FILE [--bootable|--unbootable] [--json] Show the catalogued library
duplicates --catalog FILE [--json] Byte-identical images and wasted space
diff --catalog FILE <dir> [--json] ADDED/REMOVED/CHANGED since the scan
find --catalog FILE (--sha256 H | --file F) [--json] "Do we already have this?"
help Show this help
OPTIONS
--catalog FILE Catalog file to read or write (required by every command)
--recursive index: descend into subdirectories
--bootable list: only images with an El Torito boot record
--unbootable list: only images without one
--sha256 H find: look up a known 64-hex-character digest
--file F find: hash a candidate file, then look it up
--json Emit machine-readable JSON
-h, --help Show this help
EXIT CODES
0 success (for diff: the directory matches the catalog)
1 error
2 diff only: the directory differs from the catalog
NOTES
Disc images are opened strictly read-only; the catalog file is the only thing
imagedeck ever writes, and it is written atomically via a temp file + rename.
A file that cannot be parsed as ISO 9660 is reported as skipped and the rest
of the scan continues. Duplicate detection compares SHA-256 only, so images
that merely share a size or a volume identifier are never grouped together.
Flags may appear before or after positional arguments.
EXAMPLES
imagedeck index /srv/isos --catalog isos.json --recursive
imagedeck list --catalog isos.json --unbootable
imagedeck duplicates --catalog isos.json
...
Recorded from the shipped binary, not written by hand.
Source
Every file the program is built from:
console.go · console_test.go · guided.go · main.go
SHA-256 checksums · build instructions & scope notes · full build plan