iso2god-rs Guide: The Complete Command-Line Tutorial

iso2god-rs is the cross-platform command-line converter for Xbox 360 and original Xbox ISOs: one small binary, no installer, and the same Games On Demand (GOD) output as the classic Windows GUI. This iso2god-rs guide covers installing the verified v1.8.1 binaries on Windows, Linux and macOS, every command-line option, what –trim really does, and the one version-string quirk that confuses almost every new user.

Context in one paragraph: iso2god-rs, by iliazeus under the MIT licence, describes itself as an optimised rewrite of the older iso2god-cli, which in turn re-implemented the original Team 360h Iso2God (final original v1.3.6, 2010). It is a separate tool from the Windows GUI — CLI only, ISO to GOD only — and it is the mature, hash-verifiable answer for the Linux and Mac users the Windows-only GUI never served. Output still needs a modded console (JTAG/RGH/BadUpdate-class) or Xenia to play.

Install: pick your platform binary

v1.8.1 (released 2025-08-10) ships five single-file binaries with no installer. Download yours from the download page and verify the SHA-256 before running it — every value below was checked against the digest recorded by GitHub for that asset:

Binary (via /go/ link)PlatformSizeSHA-256
iso2god-rs-windowsWindows x86_641,129,984 bytes1459fcf8ff5a89e039b02c68c06b006b7a036f3b1ca237c2d7e03d61bd211d47
iso2god-rs-linuxLinux x86_641,317,368 bytes4cee1da8dff34659246a4e26bfafd56d023b1ff6b07b3f652b9302b1d2b089a1
iso2god-rs-linux-arm64Linux ARM641,247,616 bytese32c812a803da0a3ff65cd405a42a463b05e09a8589e06a956db57d99eba852b
iso2god-rs-macosmacOS Intel (x86_64)1,085,848 bytesa06eb89ed0915bacc230cf6069e81e4116879fb2ccd7ab2b692fef6c1b34095c
iso2god-rs-macos-arm64macOS Apple Silicon (ARM64)1,048,976 bytesfac0e506a668a1616270082caf18ddd7e7cfda96aac23a20d8161e65bf3d911b

On Linux and macOS, save the file as iso2god, make it executable with chmod +x ./iso2god, and optionally move it onto your PATH. On Windows, keep the .exe name or rename it to iso2god.exe and run it from a terminal in that folder. Verify hashes with sha256sum (Linux), shasum -a 256 (macOS) or Get-FileHash (Windows PowerShell).

The version quirk: 1.8.1 prints 1.8.0

Run iso2god --version on the genuine v1.8.1 binary and it answers iso2god 1.8.0. The release version string was simply not bumped inside the program — this was confirmed by running a downloaded, hash-matched copy. If your checksum matches the table above, your download is the correct v1.8.1 file even though it reports 1.8.0. Judge the file by its hash, never by the printed version.

Basic usage

The whole interface is one command shape:

iso2god [OPTIONS] <SOURCE_ISO> <DEST_DIR>

For example, iso2god game.iso ./out reads the image, parses its XEX (Xbox 360) or XBE (original Xbox) executable for the Title ID and title, consults its built-in database of thousands of titles, and writes the GOD package into the destination directory. It accepts XGD1, XGD2 and XGD3 disc images plus XSF images. A worked example with sensible options looks like this:

iso2god --dry-run game.iso ./out first to inspect what would be produced, then iso2god --trim -j 4 game.iso ./out for the real conversion.

Every option, explained

OptionWhat it doesWhen to use it
--dry-runParses the ISO and reports what conversion would do, without writing the package.First contact with any new image — confirm the Title ID, title and disc info before committing time and disk.
--game-title <TITLE>Overrides the game title written into the GOD header.When the built-in database or executable metadata gives a wrong, generic or misspelled name that dashboards would display.
--trim / --trim=from-endDrops unallocated space from the end of the image. This is also the default behaviour.Normal conversions — it is the rs equivalent of light space saving (see the warning below).
--trim=noneKeeps the image layout intact, with no end-trimming.When a game is known to need its padding preserved, or when you want a byte-faithful layout for testing.
-j / --num-threads <N>Sets parallel worker threads (default 1).On a multi-core machine converting large XGD3 images; raise it and watch disk speed become the limit.

–trim is not the GUI’s Full padding removal

This distinction matters. The Windows GUI removes padding throughout the image with its None / Partial / Full modes. iso2god-rs –trim only cuts unallocated space from the end of the image. For many games the saved space is similar in practice, but they are not the same feature, and rs has no full padding-removal mode. If a per-game note demands a specific GUI padding behaviour — Partial for Tetris – The Grand Master Ace, or padding kept for Wolfenstein: The New Order Disc 1 — follow that note in the GUI rather than assuming –trim is equivalent. The full comparison lives in Padding Explained, and the GUI workflow itself is in How to Use Iso2God.

Verifying a conversion before you transfer it

A conversion that finishes without an error message has still only done half its job. Before copying anything to the console, confirm the destination folder holds both output pieces — the header file and its matching .data folder with numbered Data parts inside — and that the part count looks plausible for the game’s size: a several-gigabyte title split into only one tiny part is a conversion that stopped early, whatever the terminal said. Re-running the same command is cheap and safe, because converting never modifies the source ISO. If a game later shows as corrupted content on the console, re-check this pair first; separated or incomplete output explains far more failures than the converter itself does.

Reading the output: header plus .data folder

A finished conversion writes a header file plus a sibling folder named <name>.data holding the part files Data0000, Data0001, and so on. That split layout is the GOD format working as designed — content is chopped into blocks and parts so no single file runs into filesystem limits — and the two pieces must travel together to the console. What Is the GOD Format? explains the header, content types and hash tree behind those files, and the transfer guide covers getting them onto the console.

What iso2god-rs deliberately does not do

  • No graphical interface. It is CLI only. Community front-ends exist, and the young iso2god-next project adds a GTK4 GUI on top of this lineage, but upstream rs itself is a terminal tool.
  • No GOD to ISO. Conversion runs ISO to GOD only. For the reverse direction, use God2Iso (linked from the download page).
  • No extracted-folder input. It will not convert a loose default.xex folder; it takes ISO images. Folder input is one of the features iso2god-next added separately.
  • No FTP upload. Transfer the finished package yourself by USB, hard drive or your own FTP client.

A reliable routine for every conversion

  1. Verify the binary’s SHA-256 once, at install time.
  2. Run with –dry-run and read the Title ID and title it reports.
  3. Add –game-title only if that readout is wrong.
  4. Convert with –trim at its default and -j raised on a fast machine, or –trim=none for padding-sensitive titles.
  5. Keep the header file and .data folder together when copying to the console, and test before deleting the source ISO.

Frequently asked questions

Why does my v1.8.1 download say 1.8.0?

Because the internal version string was not bumped for the 1.8.1 release. A hash-matched v1.8.1 binary reporting 1.8.0 is genuine and expected. Verify with the SHA-256 table above instead of the version output.

Is iso2god-rs the same program as the Windows GUI?

No. It is an independent Rust rewrite in the iso2god-cli lineage, MIT-licensed and maintained separately from both the 2010 original (closed-source, Team 360h) and the r4dius Windows fork. They produce the same GOD format, which is why guides on this site cover both.

Can iso2god-rs convert original Xbox games too?

Yes. It reads XGD1 images and parses XBE executables, producing original-Xbox GOD packages (content type 0x5000). Our original Xbox ISO to GOD guide covers that workflow. More guides are collected in the Tutorials hub.

Does –trim ever break a game?

End-trimming is the conservative option and is the default, but no space-saving mode is universal. Games with documented padding sensitivity should be converted with –trim=none or in the GUI with the padding mode their note specifies.

Similar Posts