Code Quality Rank: L2
Programming language: Java
License: GNU General Public License v3.0 or later
Latest version: v3.29

Javassist alternatives and similar libraries

Based on the "Bytecode Manipulation" category.
Alternatively, view Javassist alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Javassist or a related project?

Add another 'Bytecode Manipulation' Library


Java CI with Maven

Java bytecode engineering toolkit

Javassist version 3

Copyright (C) 1999-2022 by Shigeru Chiba, All rights reserved.

Javassist (JAVA programming ASSISTant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. If the users use the source- level API, they can edit a class file without knowledge of the specifications of the Java bytecode. The whole API is designed with only the vocabulary of the Java language. You can even specify inserted bytecode in the form of source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors.

This software is distributed under the Mozilla Public License Version 1.1, the GNU Lesser General Public License Version 2.1 or later, or the Apache License Version 2.0.


  • [Readme.html](Readme.html) Readme file (a longer version of this file).

  • [Changes.md](Changes.md) Release notes.

  • [License.html](License.html) License file.

  • tutorial/tutorial.html Tutorial.

  • ./javassist.jar The Javassist jar file (class files).

  • ./src/main The source files

  • [Examples.md](Examples.md) How to run examples.

  • html/index.html The top page of the Javassist API document.


To print the version number, type this command:

java -jar javassist.jar


The development of this software is sponsored in part by the PRESTO and CREST programs of Japan Science and Technology Corporation.

I'd like to thank Michiaki Tatsubori, Johan Cloetens, Philip Tomlinson, Alex Villazon, Pascal Rapicault, Dan HE, Eric Tanter, Michael Haupt, Toshiyuki Sasaki, Renaud Pawlak, Luc Bourlier, Eric Bui, Lewis Stiller, Susumu Yamazaki, Rodrigo Teruo Tomita, Marc Segura-Devillechaise, Jan Baudisch, Julien Blass, Yoshiki Sato, Fabian Crabus, Bo Norregaard Jorgensen, Bob Lee, Bill Burke, Remy Sanlaville, Muga Nishizawa, Alexey Loubyansky, Saori Oki, Andreas Salathe, Dante Torres estrada, S. Pam, Nuno Santos, Denis Taye, Colin Sampaleanu, Robert Bialek, Asato Shimotaki, Howard Lewis Ship, Richard Jones, Marjan Sterjev, Bruce McDonald, Mark Brennan, Vlad Skarzhevskyy, Brett Randall, Tsuyoshi Murakami, Nathan Meyers, Yoshiyuki Usui Yutaka Sunaga, Arjan van der Meer, Bruce Eckel, Guillaume Pothier, Kumar Matcha, Andreas Salathe, Renat Zubairov, Armin Haaf, Emmanuel Bernard, Jason T. Greene and all other contributors for their contributions.

by Shigeru Chiba

*Note that all licence references and agreements mentioned in the Javassist README section above are relevant to that project's source code only.