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

freeinternals Binary Internals Viewer

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

Supported Formats


User guide

  • We need the java command to run this tool
    • java -jar BinaryInternalsViewer-3.5.jar
    • Menu item: File > Open...
    • Choose the binary file to view


  • This application do not rely on any 3rd party libraries other than JDK, easy to add it to your project

Build the Source Code

  • Prerequisite
    • Java Version: OpenJDK version 11 or higher
    • Build Tool: Apache Maven 3.5 or higher: because we are using the Maven CI Friendly Versions ${revision} feature
    • Set JAVA_HOME environment variable
      • If not set use the export statements in the script
  • Build scripts
    • Linux/MacOS: ./ Do a quickly build, or ./ do a full build via execute all targets like checkstyle, spotbugs, etc.
    • Windows: build.cmd
  • Test Case for Java .class format
    • ./ Parse all .class files in Ubuntu linux system default-java folder
    • We can edit the JAVA_FOLDER variable in the script if want to test with other Java versions

Legacy note

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