ISO + Boot Workshop

ImageDeck

Catalogue a shared folder of ISOs and find out which ones are the same file.

Free right now — no account, no card

Get ImageDeck free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design ImageDeck, 1 of 1
Screenshot ImageDeck running on Windows today

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

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