Tiny Online Tools logoTiny Online ToolssearchSearch tools…grid_viewAll Tools
Homechevron_rightReverse Engineering Toolschevron_rightELF File InspectorELF File Inspector

ELF File Inspector

Inspect Linux and Unix ELF binaries: headers, sections, segments, symbols and shared library dependencies, right in your browser.

Select an ELF binaryupload_file

Click to browse or drag & drop files here

Executable, shared object (.so) or core dump — any file works, no extension required

Accepted: */*

Similar Tools

Mach-O Inspector

Mach-O Inspector

Inspect macOS and iOS Mach-O binaries: architecture, load commands, segments, sections and linked libraries, right in your browser.

PE/EXE Inspector

PE/EXE Inspector

Inspect Windows PE executables and DLLs: COFF headers, sections, imports, exports and resource types, directly in your browser.

Universal Binary Inspector

Universal Binary Inspector

Drop in any file and automatically detect whether it's an ELF, PE/EXE, Mach-O or WebAssembly binary, then see its key structure at a glance.

PST / OST Inspector

PST / OST Inspector

Open an Outlook PST or OST archive and see its folder tree, message index and file header — in your browser.

Gaussian Splat Coordinate Converter

Gaussian Splat Coordinate Converter

Convert a Gaussian splat capture between the axis conventions of COLMAP, glTF, Unity, Unreal and Blender, spherical harmonics included.

Text to PDF

Text to PDF

Convert plain text to a PDF document with customizable font, size, and page layout.

Resize Image

Resize Image

Resize images to custom dimensions while maintaining quality.

apps

More Tools

Browse our full collection of free online tools.

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 NEEDED shared libraries this binary links against, its SONAME if it is itself a library, and any RPATH/RUNPATH search 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.