Free preset dictionaries for -obfuscationdictionary, -classobfuscationdictionary, and -packageobfuscationdictionary. All characters validated as valid Java identifiers.
| Dictionary | Category | Chars | 3-char Combos | |
|---|---|---|---|---|
|
Homoglyph ↗
Cross-script visual confusables |
Visual | 255 | 16,581,375 | Download |
|
Greek ↗
Greek alphabet letters & extended forms |
Script | 122 | 1,815,848 | Download |
|
Cyrillic ↗
Cyrillic basic & extended letters |
Script | 296 | 25,934,336 | Download |
|
Latin Extended ↗
Diacritical marks, IPA, Latin Extended |
Script | 494 | 120,553,784 | Download |
|
Hebrew + Arabic ↗
Hebrew & Arabic with presentation forms |
Script | 423 | 75,686,967 | Download |
|
East Asian ↗
CJK radicals, Katakana, Hiragana, halfwidth |
Script | 246 | 14,886,936 | Download |
|
Modifier & Tone ↗
Modifier letters, tone marks, super/subscripts |
Visual | 244 | 14,526,784 | Download |
|
Indigenous Scripts ↗
Cherokee, Georgian, Armenian, Thai, Lao, etc. |
Script | 1,146 | 1,505,060,136 | Download |
|
Encoding Chaos ↗
Different display in GBK/Big5/Shift-JIS/EUC-KR |
Encoding | 575 | 190,109,375 | Download |
|
Minimal Confusable ↗
One best replacement per ASCII letter |
Minimal | 52 | 140,608 | Download |
|
Ultimate ↗
All scripts merged — maximum character set |
Combined | 3,056 | 28,540,399,616 | Download |
Download a dictionary file and place it in your Android project (e.g., next to proguard-rules.pro), then add the directive to your ProGuard configuration:
Or use the ADB Pro plugin's R8 Assistant → Dictionary tab to download and apply dictionaries directly from your IDE.
Each dictionary contains Unicode characters that are valid Java identifier starts (passing Character.isJavaIdentifierStart()). They exploit visual similarities between characters from different writing systems (homoglyphs) or characters that display differently depending on the system encoding.
For example, the Homoglyph dictionary includes Greek and Cyrillic letters that look identical to Latin letters (e.g., Greek alpha α vs Latin a). The Encoding Chaos dictionary uses characters whose UTF-8 bytes decode to completely different characters when interpreted in GBK, Big5, or Shift-JIS.
All 11 dictionaries are open and free to use, even without the ADB Pro plugin.