MachO-explorer — the reader runs in this tab

Drop an Apple binary below. It is read here, in your browser — the bytes never leave this machine and nothing is uploaded. The parser is not a reimplementation: it is the actual src/macho.mjs, linked with a small host shim so it runs with no Node and no network. Audit it yourself below.

Drop a Mach-O, fat binary, or a .app bundle

thin or universal · arm64, arm64e, x86_64, i386, armv7, ppc · macOS, iOS, watchOS, tvOS, visionOS

No binary to hand? These two are already in this repository — the same fixtures the test suite asserts on — fetched from this origin and read in this tab, exactly as a dropped file would be.

Audit it yourself

The claim of this demo is not "it has a UI". It is that the code that read your file is small enough to read. The bundle is generated mechanically from the three source modules by demo/link.mjs — no logic is copied, so the file you audit is the file that ran. Click a file to view it (served from this repository, not fetched from a CDN).

Dependenciesreading…
Bundlereading…
Reader sizereading…
Verificationreading…
Machine contractreading…

Select a source file above to read it here.