Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ingokegel/jclasslib

Open more actions menu

Repository files navigation

jclasslib bytecode editor and Kotlin Multiplatform class file library

Download

Installers can be downloaded from the releases section, on macOS you can install it via HomeBrew with

brew install jclasslib-bytecode-viewer

Purpose

jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. Many aspects of class files can be edited in the UI. In addition, it contains a Kotlin Multiplatform library that enables developers to read and write Java class files and bytecode.

Related projects

jvmguard is my other OSS project and provides JVM monitoring and production profiling with access control and audit trails. Includes a web UI, trigger-based captures, and an MCP server for AI-assisted profiling. It's quite new, so I'd be grateful for any GitHub stars 🙏

Maven repository

The Kotlin Multiplatform library to read and write JVM class files is available on Maven Central under the coordinates: org.jclasslib:jclasslib-data:<version>.

Platform-specific artifacts are provided under org.jclasslib:jclasslib-data-jvm:<version> and org.jclasslib:jclasslib-data-js:<version>.

jclasslib UI

In the main window of the jclasslib bytecode viewer, you can open multiple class files at the same time, by selecting class or JAR files, browsing a configured classpath or dragging class files on top of the window.

Main window

Editing

All constant pool entries can be edited. Referenced constant pool entries can directly be edited from the context menu that is shown by the "Edit" button of attributes and constant pool entries.

Editing

Bytecode instructions can be edited from the context menu:

Editing bytecode instructions

Light mode and dark mode

By default, jclasslib uses dark mode if the system appearance is set to dark. Dark mode or light mode can be enabled persistently by selecting "File->Dark mode->On/Off" in the main menu.

Dark mode

Localizations

Several localizations are available and can be chosen in the UI:

i18n

IntelliJ IDEA plugin

There is a plugin for IntelliJ IDEA that can be installed via the plugin manager. The action in the "View menu" can be invoked when a Java, Groovy or Kotlin file is open in the editor.

IntelliJ IDEA action

The bytecode will be shown in the "jclasslib" tool window on the right hand side. Multiple class files can be open at the same time.

IntelliJ IDEA action

License

jclasslib bytecode editor is released under the GPL, Version 2.0.

About

jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.