ISO + Boot Workshop

ISOPilot

Open an ISO and pull one file out of it. No mounting, no root, no libraries.

Free right now — no account, no card

Get ISOPilot 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 ISOPilot, 1 of 1
Screenshot ISOPilot running on Windows today

Free while we’re in preview

Get ISOPilot

Open an ISO and pull one file out of it. No mounting, no root, no libraries.

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, ISOPilot is included in every plan along with the rest of the range.

Most tools treat an .iso as a blob

They hash it, they write it to a USB stick, they check its size. ISOPilot opens the file and reads the filesystem inside. info parses the Primary Volume Descriptor, list walks the directory records recursively and prints every path with its size and extent address, extract seeks to the extent and reads exactly the recorded length. No loop device, no mount, no administrator rights.

Names on a disc are not your names

Plain ISO 9660 is upper case and 8.3, so a-very-long-filename.txt is probably /A_VERY_L.TXT once it’s on the disc. Run list when you’re unsure. Extract is forgiving about spelling: the leading slash is optional, so is a ;1 version suffix, and it falls back to a case-insensitive lookup.

Two things it will not do

Overwrite an existing --out file without --force, and pretend a broken image is fine. Every read is bounds-checked, recursion is depth-limited and cycle-guarded, and a corrupt image produces a clear error instead of a panic or a hang. info flags a volume declaring more data than the file actually holds, which is how you spot a half-finished download.

Joliet, Rock Ridge, UDF and El Torito are not decoded.

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 CLI prototype of a real ISO 9660 filesystem parser — it reads the raw bytes itself, walking the Primary Volume Descriptor and directory records to inspect, list and extract files from a disc image rather than treating it as an opaque blob. Verified against images built by genisoimage: every extracted file, including a 300 KB binary and nested subdirectory entries, round-trips byte-identical, and 60 corrupted images produced no panic or hang. Joliet, Rock Ridge and El Torito are on the roadmap.

Recorded session

Recorded terminal session showing ISOPilot running
A real recorded session — ISOPilot’s actual output, captured by running the shipped binary.

Naming status

Working name only — brand verdict **AVOID** (Very High). Collision: ISOPilot. 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.

isopilot - read ISO 9660 disc images: inspect, list, and extract

USAGE
  isopilot <command> [options]

COMMANDS
  info    <file.iso> [--json]                  Parse the Primary Volume Descriptor
  list    <file.iso> [--json]                  Recursively list every directory record
  extract <file.iso> <path-in-iso> --out FILE  Extract one file by extent
  help                                         Show this help

OPTIONS
  --json          Emit machine-readable JSON (info, list)
  --out FILE      Destination for the extracted file (extract, required)
  --force         Allow extract to overwrite an existing --out file
  -h, --help      Show this help

NOTES
  Paths inside an image are absolute and use the on-disc ISO 9660 names, which
  are upper-case and 8.3 by default, e.g. /SUBDIR/INNER.TXT. A ";1" version
  suffix may be omitted, and matching falls back to case-insensitive.
  Flags may appear before or after positional arguments.

EXAMPLES
  isopilot info disc.iso
  isopilot info disc.iso --json
  isopilot list disc.iso
  isopilot extract disc.iso /SUBDIR/INNER.TXT --out inner.txt
  isopilot extract disc.iso subdir/inner.txt --out inner.txt --force

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