Skip to main content
Binary Internals is an open-source Java toolkit that parses binary files and renders every field visually, so you can see exactly what each byte means. Whether you are reverse-engineering a class file, inspecting an image, or auditing a ZIP archive, Binary Internals gives you a structured, navigable view of the raw bytes without requiring any third-party libraries.

What Binary Internals Provides

The project ships three kinds of deliverables that share the same set of format plug-ins:
  • BinaryInternalsViewer — a Swing desktop application that lets you open binary files from a menu or by drag-and-drop, then navigate their structure in an interactive tree.
  • BinaryInternalsWeb — a self-contained web server that serves the same file view through a browser and exposes an HTTP API for programmatic parsing.
  • FormatXXXX JARs — standalone libraries (one per format) that you can embed directly into your own Java project.

The Plug-in System

Format support is delivered as plug-ins discovered at runtime via the Java ServiceLoader mechanism. Each FormatXXXX module registers itself, and both the desktop viewer and the web server pick up every plug-in on the module path automatically. Adding a new format does not require changing the viewer or the web server.
Binary Internals has no third-party runtime dependencies beyond the JDK. The format JARs depend only on the shared CommonLib module, making them safe to drop into any existing Java project without creating dependency conflicts.

Supported File Formats

Java Class

JVM bytecode files produced by any Java compiler (*.class)

DEX

Dalvik Executable files for Android (*.dex) — in progress

ELF

Executable and Linkable Format for *nix systems (*.elf) — in progress

ZIP

ZIP archives, including JAR and APK (*.zip)

BMP

Windows Bitmap images (*.bmp)

JPEG

JPEG compressed images (*.jpg, *.jpeg)

PNG

Portable Network Graphics images (*.png)

Get Started

Choose the delivery mode that fits your workflow:

Desktop Viewer

Download and run the Swing GUI application to open and explore binary files interactively on your machine.

Web Server

Start the web server with Docker or Java and use the HTTP API to parse binary files programmatically.