Free Java Deobfuscator Online
Deobfuscate and beautify obfuscated Java code directly in your browser.
Input
Deobfuscated Output
What Is the Java Deobfuscator?
Dealing with obfuscated Java from a decompiled Android APK or a legacy enterprise project? The Java Deobfuscator reverses common obfuscation patterns and beautifies Java code so you can actually read it. Tools like ProGuard and DexGuard rename identifiers and apply bytecode transformations, but plenty of obfuscation happens at the source level too — unicode escapes, string concatenation tricks, and crushed whitespace. This tool handles those source-level patterns automatically. For bytecode-level decompilation, you'd pair it with a tool like jadx or CFR first.
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.