Java Deobfuscator
Deobfuscate and beautify obfuscated Java code online. Decode unicode escapes, string concatenation, and other Java obfuscation patterns. Free, runs in your browser.
Input
Deobfuscated Output
What Is the Java Deobfuscator?
The Java Deobfuscator reverses common obfuscation patterns and beautifies Java code. Paste obfuscated or minified Java and get readable output for debugging and analysis. Java is widely used in enterprise applications, Android development, and backend systems.
This tool runs entirely in your browser. No code is sent to any server. It handles common obfuscation techniques including unicode escape decoding, string concatenation resolution, and whitespace restoration with proper indentation for Java class and method structures.
How to Use This Tool
Paste or Upload
Paste obfuscated or minified Java code into the left panel, or upload a .java or .txt file. Click Sample to load an example.
View Deobfuscated Output
The right panel shows cleaned and formatted Java code. Unicode escapes are decoded, string concatenations are resolved, and indentation is restored.
Copy or Download
Use Copy or Download to save the result as a .java file for further analysis or debugging.
Java Deobfuscator Examples
Here is an example of deobfuscating Java code that uses unicode escape sequences—one of the most common Java obfuscation techniques.
Example: Unicode Escape Obfuscation
Obfuscated input:
Deobfuscated output:
When the Java Deobfuscator Helps
Java is used across Android apps, enterprise backends, and embedded systems. Obfuscated Java is common in: Android APK reverse engineering, malware analysis, license protection research, and legacy code recovery. Tools like ProGuard and DexGuard rename identifiers and apply bytecode transformations—full reversal requires specialized decompilers. This tool handles the simpler source-level obfuscation patterns automatically.
Frequently Asked Questions
Can this tool reverse ProGuard obfuscation?
ProGuard renames classes, methods, and fields to short meaningless names. Full reversal requires a mapping file. This tool handles source-level patterns like unicode escapes and string concatenation, but cannot rename identifiers back to their originals without the ProGuard mapping.
Is my Java code sent to a server?
No. All deobfuscation runs entirely in your browser. Your code is never uploaded to any server.
What obfuscation patterns does this Java deobfuscator handle?
It decodes unicode escape sequences (\u0041 → A), resolves string concatenation ("hel" + "lo" → "hello"), restores indentation for Java blocks (class, interface, enum, if, for, while, try/catch/finally), and normalizes whitespace.
Does it work on Android code?
This tool works on Java source code text. For Android APKs you first need a decompiler like jadx or apktool to convert bytecode to Java source, then this tool can help clean up the decompiled output.
Can I upload .class or .jar files?
This tool processes Java source text (.java, .txt). Binary .class and .jar files contain compiled bytecode which requires a bytecode decompiler—not a source-level deobfuscator. Use jadx or CFR for bytecode decompilation first.
Related Tools
Learn more about Java on the Oracle Java Documentation and Android Developer Reference.