The Kotlin programming language and its compiler, standard library, and build tooling, developed by JetBrains for multiplatform development.
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
Install the viewer on macOS with Homebrew
brew install jclasslib-bytecode-viewer - 2
Download the installer for your platform from the releases page
- 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
IntelliJ IDEA plugin for editing class and resource files inside a jar directly, without extracting it first.
A free Java code coverage library that measures which parts of Java bytecode are exercised by tests.
A JVM sandbox container that adds non-invasive, runtime AOP to running Java applications without restarting them.
A high-performance Java APM tool that collects method and JVM metrics via a Java agent, with no changes to application code.
A Kotlin Multiplatform, multi-agent AI development platform covering coding, code review, document research, data queries and artifact generation across IDEs, CLI and multiple devices.