Repolode
ingokegel

ingokegel/jclasslib

A bytecode viewer and editor for Java class files, plus a Kotlin Multiplatform library for reading and writing them.

Stars
2,996
Forks
422
Open issues
10
Last commit
2 months ago

What is it?

jclasslib is a tool for inspecting compiled Java class files. It visualizes the structure of a class, including its constant pool, attributes, methods and the bytecode instructions inside them, so developers can see what the compiler actually produced.

Beyond viewing, many parts of a class file can be edited in the UI, including constant pool entries and individual bytecode instructions. You can open several class or JAR files at once, browse a classpath, and switch between light and dark modes. An IntelliJ IDEA plugin brings the same view into the IDE for Java, Groovy and Kotlin files.

The project also includes a Kotlin Multiplatform library, published to Maven Central as jclasslib-data, that lets other code read and write JVM class files and bytecode.

Key features

  • 01Visualizes class file structure, constant pool, attributes and bytecode instructions
  • 02Edits constant pool entries and bytecode instructions in the UI
  • 03Opens multiple class or JAR files at once, with classpath browsing
  • 04Provides an IntelliJ IDEA plugin for viewing bytecode in the IDE
  • 05Offers a Kotlin Multiplatform library to read and write class files

Use cases

  • Inspecting what the Java compiler generated for a given method or class
  • Debugging issues related to bytecode, constant pool or class file attributes
  • Experimenting with hand-modified bytecode to understand JVM behavior
  • Building tools that programmatically read or write class files via the jclasslib-data library

Quick start

  1. 1

    Install the viewer on macOS with Homebrew

    brew install jclasslib-bytecode-viewer
  2. 2

    Download the installer for your platform from the releases page

  3. 3

    Add the Kotlin library from Maven Central using org.jclasslib:jclasslib-data

    org.jclasslib:jclasslib-data:<version>

Things to know

  • The license is GPL 2.0 and the metadata lists it as NOASSERTION, so check the license terms yourself.
  • The Homebrew install is only available on macOS; other platforms rely on the downloaded installers.

In collections

Topics

FAQ

What is jclasslib?
A bytecode viewer and editor for Java class files, plus a Kotlin Multiplatform library for reading and writing them. jclasslib is a tool for inspecting compiled Java class files. It visualizes the structure of a class, including its constant pool, attributes, methods and the bytecode instructions inside them, so developers can see what the compiler actually produced.
Is jclasslib free to use? What license does it have?
jclasslib is open source under the Other license. Check the license terms before using it in commercial products.
Is jclasslib still maintained?
Updated within 6 months. The last commit to jclasslib was on Aug 31, 2026.
What can I use jclasslib for?
Inspecting what the Java compiler generated for a given method or class Debugging issues related to bytecode, constant pool or class file attributes Experimenting with hand-modified bytecode to understand JVM behavior Building tools that programmatically read or write class files via the jclasslib-data library
How do I install jclasslib?
Install the viewer on macOS with Homebrew: brew install jclasslib-bytecode-viewer Download the installer for your platform from the releases page Add the Kotlin library from Maven Central using org.jclasslib:jclasslib-data: org.jclasslib:jclasslib-data:<version>
Where can I get jclasslib?
The source code and installation instructions are on GitHub: https://github.com/ingokegel/jclasslib

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

A JVM sandbox container that adds non-invasive, runtime AOP to running Java applications without restarting them.

DevOps & Cloud#java#jvm#aop
7K+2 this week1.6KJavaLGPL-3.0Updated 2 months ago