Mach-O Fat/Universal Binary Splitter

Drop a macOS/iOS fat (universal) binary to see every CPU architecture packed inside it, and pull any one out as a standalone file — parsed entirely in your browser.

Drop a Mach-O fat binary here, or click to choose
.dylib, .a, .app executables, or any extensionless universal binary — nothing is uploaded anywhere

How this works: a Mach-O fat binary is just a small directory (the fat_header) listing byte ranges, one per CPU architecture, inside the same file. This page reads that directory and, when you click Extract, copies the exact byte range for that architecture out as a new, standalone thin Mach-O file — the same operation lipo -thin performs on a Mac. Nothing you drop here is ever sent anywhere.

What this tool does NOT do: it doesn't disassemble, run, or code-sign anything. An extracted slice keeps whatever code signature it had inside the original fat binary; if that signature covered the whole fat file (common for ad-hoc signing), the extracted slice may need re-signing before macOS will run it standalone.

Troubleshooting

It says this file is "already single-architecture"

Not every macOS binary is universal — plenty of tools, especially older or Intel-only ones, ship as a single architecture. If that's what you dropped, there's nothing to split; the file already only contains one architecture's code.

Why does the same architecture sometimes show a different subtype?

ARM binaries in particular are often built for a specific subtype (armv7, armv7s, armv8) rather than "any ARM." Two files can both say "arm" but only run correctly on compatible subtypes.

The extracted file won't run on my Mac

See the code-signing note above — a slice extracted from a signed fat binary usually needs to be re-signed (even just ad-hoc, with codesign -s -) before macOS's Gatekeeper will let it execute standalone.