What this tool reads
Drop in any ELF binary — an executable, a shared object (.so), or a core dump — and this tool parses it entirely in your browser, the same way readelf does, and shows:
- The ELF header: class (32/64-bit), byte order, type (executable, shared object, relocatable), target machine and entry point.
- Section headers: every section's name, type, virtual address, file offset and size.
- Program headers (segments): the LOAD, DYNAMIC, INTERP, NOTE and other segments the loader maps at runtime, with their permissions (R/W/E).
- The dynamic linker interpreter (
PT_INTERP), typically/lib64/ld-linux-x86-64.so.2. - Symbol tables — both
.symtab(local debug symbols, absent on a stripped binary) and.dynsym(the exported/imported dynamic symbols every binary needs to link). - Dynamic dependencies: the
NEEDEDshared libraries this binary links against, itsSONAMEif it is itself a library, and anyRPATH/RUNPATHsearch paths. - Whether the binary is stripped, position-independent (PIE), or a shared library.
Symbol demangling
C++ and Rust binaries mangle symbol names to encode type information. When a symbol looks mangled (_Z..., _ZN..., _R...), this tool shows a best-effort demangled form alongside the raw name. This is a from-scratch decoder covering the common Itanium C++ ABI and Rust legacy/v0 schemes — it is not guaranteed to be byte-perfect against c++filt or rustfilt on every exotic construct, and falls back to the raw name when it cannot confidently decode one.
Why this is useful
Use it to audit what a downloaded binary actually links against before running it, to confirm a build produced a stripped release binary, to check whether a shared library's SONAME matches its filename, or simply to explore ELF internals without installing binutils.
Privacy
Everything happens locally in your browser using JavaScript. The file you choose is never uploaded anywhere.
Tiny Online Tools







