Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Binary Internals Viewer

An application to show binary file internals visually & interactively for the meaning of every bit.

Supported Formats


  • Here is a screen shot opening java.lang.String.class file

Sample Class


User guide

  • We need the java command to run this tool
    • java -jar BinaryInternalsViewer-3.6-timestamp.jar
      • Where timestamp is the auto-generated build timestamp
    • Menu item: File > Open...
    • Choose the binary file to view

Build the Source Code

  • Prerequisite
    • Java Version: OpenJDK version 11 or higher
    • Set JAVA_HOME environment variable
      • If not set use the export statements in the script
    • Build Tool: Apache Maven 3.6 or higher: because we are using the Maven CI Friendly Versions ${revision} feature
  • Build
    • Build via maven command
      • mvn clean
      • mvn package
      • mvn install
      • mvn site:site
      • mvn site:stage
    • Build with Script
      • ./ (Linux/MacOS/Windows Git Bash)
      • build.cmd (Windows CMD)


  • This application does not have 3rd party dependency other than JDK, easy to add it to your existing project
  • Show dependency tree for this project
    • mvn dependency:tree
  • Graph of all dependencies aggregated
    • Make sure Graphviz has been installed, dot command is available
    • mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DcreateImage -Dincludes=org.binaryinternals -DshowGroupIds -DshowVersions -DoutputDirectory=docs

Dependency Graph

Legacy note

  • The original Java Class Viewer has been retired and merged into Binary Internals Viewer since Apr 2021

Standalone Libs

The FormatXXXX.jar files can be used in your project when needed.