Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Decompiler Explorer?
Decompiler Explorer at Decompiler Explorer is a free, browser-based tool that runs a binary through many different decompilers at once and shows the C-like output side by side. Instead of installing Ghidra, IDA, Binary Ninja, RetDec and others separately, you upload one file and compare what each engine produces.
What you can do with it
- Upload a binary (the page notes a 2MB size limit) and view decompiled output from multiple engines in one place.
- Start from built-in samples if you have nothing to upload: a Linux x86 CTF challenge, Arm Linux "Hello World," several "Megatest" binaries for arm64 FreeBSD/macOS and x86 Windows, Ping6 on x86_64 Linux, and vtable examples on x86 Windows.
- Compare decompilers including angr, Binary Ninja, Boomerang, dewolf, Ghidra, Hex-Rays, Kuna, RecStudio, Reko, Relyze, RetDec, rev.ng and Snowman.
- Read the source or fork the project, since the site states it is open source.
Who benefits most
Reverse engineers and security students get the clearest value: decompiler quality varies a lot by architecture, compiler and optimization level, so seeing several outputs for the same function helps you spot which tool handles your case best. CTF players can use the sample challenges to learn without setup. Malware and vulnerability analysts may prefer local, offline tools for sensitive binaries, since uploaded files are retained according to the page.
A practical next step: pick the "Megatest" sample matching your target platform (for example arm64 macOS or x86 Windows) and compare two or three decompilers on the same function. If one output is confusing, check whether another engine reconstructs the control flow more cleanly before assuming the binary itself is unusual.
How do I upload my own binary to Decompiler Explorer?
Use the Upload File control on the Decompiler Explorer main page. The page states your file must be under 2MB, and that uploaded binaries are retained on the site.
Steps
- Open Decompiler Explorer.
- Choose Upload File and select your binary.
- Wait for the page to run it through the listed decompilers (angr, Binary Ninja, Boomerang, dewolf, Ghidra, Hex-Rays, Kuna, RecStudio, Reko, Relyze, RetDec, rev.ng, Snowman).
- Compare the C-like output side by side.
Practical notes
- 2MB is the hard limit stated on the page. If your binary is larger, strip symbols or debug info first, or extract just the function you care about into a smaller object file.
- Retention matters. Because uploads are kept, avoid anything confidential, proprietary, or covered by an NDA. Use a sample or a self-compiled test binary instead when you just want to learn how the decompilers differ.
- No account is needed based on the page; the upload field is right on the landing page.
A concrete scenario
You have a small x86_64 Linux binary from a CTF and want to know which decompiler gives the cleanest pseudocode for its main function. Upload it, then scan the columns: Ghidra and Hex-Rays often produce the most readable output, while RetDec and Snowman may expose different structure. Treat the differences as a signal about the binary, not just the tools.
Decision criterion
If the binary is under 2MB and non-sensitive, upload it directly. If either condition fails, don't upload — pick one of the provided samples, or run a decompiler locally on your own machine.
Which decompilers does Decompiler Explorer support and how do they compare?
Decompiler Explorer (dogbolt.org) is a free, browser-based tool that runs a binary through many decompilers at once and shows the C-like output side by side. You upload a file (the page states files must be under 2MB, and that uploaded binaries are retained) or pick a bundled sample, and it renders each decompiler's result for comparison.
Decompilers shown on the site
The page lists these engines: angr, BinaryNinja, Boomerang, dewolf, Ghidra, Hex-Rays, Kuna, RecStudio, Reko, Relyze, RetDec, rev.ng and Snowman.
How they differ in practice
- Open-source vs. commercial: Ghidra, angr, Boomerang, RetDec, rev.ng, Reko, Snowman, dewolf and Kuna are open-source or research tools you can run locally. Hex-Rays (IDA's decompiler), BinaryNinja and Relyze are commercial products; here you only see their output, not their full interactive features.
- Output style: Ghidra and Hex-Rays tend to produce the most readable, idiomatic C for typical compiled code. RetDec and Snowman are useful cross-checks but often noisier. angr and rev.ng are stronger when you want program analysis or symbolic reasoning alongside decompilation.
- Maturity and architecture coverage: Ghidra, Hex-Rays and BinaryNinja handle a wide range of architectures and file formats well. Smaller projects may struggle with unusual architectures or heavily optimized binaries.
A practical way to use the differences: decompile the same function in two or three engines and compare. Where they agree, you can trust the reconstruction; where they diverge, that's usually where the interesting control flow or type ambiguity lives.
When to use it
This suits reverse-engineering learners, CTF players and analysts who want a quick second opinion before committing to one tool. The bundled samples (CTF challenges, Hello World on Arm, "Megatest" binaries for arm64 Linux, arm64 macOS and x86 Windows, Ping6 on x86_64 Linux, VTables on x86 Windows) let you see how each engine handles known cases without uploading anything.
Trade-offs
Because it's a web service, you're sending binaries to a third party, and the page says uploads are retained — so avoid confidential or proprietary files. You also get static output only: no debugger, no interactive renaming or type editing, and the 2MB cap rules out large targets. For serious work, use it to triage and compare, then move to a local install of your preferred engine.
A useful next step: open a sample such as "Megatest Decompiler Test Binary: x86 Windows" and compare Ghidra, Hex-Rays and RetDec on the same function to calibrate how much you trust each one's output. For local, full-featured work, see Ghidra and Hex-Rays.
Can I use Decompiler Explorer to analyze a CTF challenge binary?
Yes. Decompiler Explorer is a good fit for the reconnaissance stage of a CTF reverse-engineering challenge, especially when you want to see how several decompilers interpret the same binary before committing to one toolchain.
What the site actually offers
- Upload a binary (under 2MB) and view C-like decompiled output from many decompilers side by side.
- Built-in samples include CTF-oriented binaries: "A CTF Challenge on x86 Linux" and "Yet Another x86 Linux CTF Challenge."
- Supported decompilers listed on the page include angr, BinaryNinja, Boomerang, dewolf, Ghidra, Hex-Rays, Kuna, RecStudio, Reko, Relyze, RetDec, rev.ng and Snowman.
Why that helps in a CTF
CTF binaries are often small, obfuscated, or written to defeat a specific decompiler's heuristics. Running the same function through several engines lets you cross-check where one produces garbage and another produces readable pseudocode. The included CTF samples are also useful for learning what "good" versus "confusing" output looks like before you upload your own challenge file.
Limits to plan around
- The 2MB upload cap rules out large or statically linked binaries; strip or extract the relevant object first.
- Decompiled C-like output is a reading aid, not ground truth. Control flow, types, and inlined code can all be misrepresented.
- Uploaded binaries are retained, so do not submit anything sensitive or covered by competition rules that forbid third-party hosting.
Practical next step
Start with a sample CTF binary to see how the interface behaves, then upload your challenge and compare Ghidra or Hex-Rays output against a second engine such as RetDec or angr. When two independent decompilers agree on a function's structure, that is a strong signal you can trust it; where they diverge, drop into a disassembler and verify by hand. For deeper work on a real challenge, pair this with a local Ghidra install via Ghidra so you keep full control of the binary and can script analysis.
Is it safe to upload sensitive or proprietary binaries to Decompiler Explorer?
No. Decompiler Explorer is built for quick, side-by-side decompiler comparisons, not for confidential material. The page states plainly that uploaded binaries are retained, and files must be under 2MB. If you upload a proprietary or otherwise sensitive binary, you should assume a copy persists on someone else's infrastructure and is outside your control.
What that means in practice
- Uploading is a disclosure decision, not just a convenience. Even if a binary is stripped, it can still reveal business logic, embedded strings, API endpoints, credentials, build paths, symbol names, or third-party code your organisation is not licensed to share.
- Retention is the key risk. Once a file is retained, you cannot verify when or whether it is deleted, who can access it, or how it is backed up. "Retained" is the opposite of "processed and discarded."
- The 2MB limit does not make it safe; small binaries often carry the most concentrated secrets, such as hardcoded keys or tokens.
A safer workflow
- Reproduce the question with a minimal synthetic sample. If you want to compare how Decompiler Explorer's decompilers handle a specific construct, write a small throwaway C file, compile it, and upload that instead of the real target.
- Use the provided samples first. The site lists samples such as a CTF challenge on x86 Linux, Hello World on Arm Linux, and Megatest binaries for arm64 FreeBSD, arm64 macOS, and x86 Windows. These are ideal for learning decompiler differences without exposing anything.
- For real proprietary work, run the decompilers locally. Ghidra, angr, RetDec, and rev.ng are open source and can be installed on your own machine; Hex-Rays and BinaryNinja are commercial tools with local licences. The comparison value comes from the decompilers, not from the hosted service.
- If you must use a hosted service, sanitise first: strip symbols, remove embedded strings and metadata, and get written approval from whoever owns the code.
H3. Decision criterion Ask one question before uploading: "Would I be comfortable if this exact file were published?" If the answer is no, use a local decompiler or a synthetic sample. The Explorer is excellent for learning how decompilers differ and for CTF-style public challenges; it is not the right place for client code, internal firmware, or anything under NDA.
How can I contribute to or run Decompiler Explorer locally?
Decompiler Explorer is an open-source project, so both contributing and running it locally follow the same basic route: get the source, run it on your machine, then send changes back upstream.
Running it locally
Because the tool is a web front end wrapping many decompilers, the main practical hurdle is the decompiler back ends rather than the web app itself. A typical local setup involves:
- Cloning the repository (the site links to its GitHub source from the main page).
- Installing the supported decompilers you care about — the page lists angr, BinaryNinja, Boomerang, dewolf, Ghidra, Hex-Rays, Kuna, RecStudio, Reko, Relyze, RetDec, rev.ng and Snowman.
- Running the front end and pointing it at those installed tools.
Note that several of these are commercial or license-gated (Hex-Rays/IDA, BinaryNinja, Relyze), so a fully local instance will only exercise the decompilers you can legally install. The free and open ones — Ghidra, RetDec, rev.ng, Snowman, angr — are the easiest starting point.
Contributing
The most useful contributions tend to be:
- Adding or updating a decompiler integration.
- Fixing build or configuration issues for a specific platform.
- Improving the web UI or the sample set (the page already ships samples like the ARM64 Linux "Hello World", an x86 Linux CTF challenge, and "Megatest" binaries for arm64 FreeBSD/macOS and x86 Windows).
Practical next step
Start by running the project against one open decompiler (Ghidra or RetDec) on a single sample, confirm the pipeline works end to end, then open an issue or pull request for the specific gap you hit. That keeps your first contribution small and reviewable.
For background on the decompilers themselves, see Ghidra and RetDec.
User reviews (0)