ISOPilot
Open an ISO and pull one file out of it. No mounting, no root, no libraries.
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 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
- 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 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
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