# Zero-width character test Below are several zero-width Unicode characters, placed between underscores. Can your browser display them? Your text editor? Your terminal? To understand why not being able to display them might be a problem, read "Tracking via pasted text": https://nervuri.net/stega This file also contains unassigned code points and various control characters which certain programs render as zero-width even though they shouldn't. As a point of reference, here are a few positive-width Unicode characters: 0020: _ _ | 00E9: _é_ | 03A9: _Ω_ | 5B57: _字_ | 1F407: _🐇_ ## Zero-width characters 00AD: _­_ soft hyphen 034F: _͏_ combining grapheme joiner 061C: _؜_ Arabic letter mark 070F: _܏_ Syriac abbreviation mark 115F: _ᅟ_ Hangul choseong filler 1160: _ᅠ_ Hangul jungseong filler 17B4: _឴_ Khmer vowel inherent aq 17B5: _឵_ Khmer vowel inherent aa 180B: _᠋_ Mongolian free variation selector one (FVS1) 180C: _᠌_ Mongolian free variation selector two (FVS2) 180D: _᠍_ Mongolian free variation selector three (FVS3) 180E: _᠎_ Mongolian vowel separator 180F: _᠏_ Mongolian free variation selector four (FVS4) 200B: _​_ zero width space 200C: _‌_ zero width non-joiner 200D: _‍_ zero width joiner 200E: _‎_ left-to-right mark 200F: _‏_ right-to-left mark 2028: _
_ line separator 2029: _
_ paragraph separator 202A: _‪_ left-to-right embedding 202B: _‫_ right-to-left embedding 202C: _‬_ pop directional formatting 202D: _‭_ left-to-right override 202E: _‮_ right-to-left override 2060: _⁠_ word joiner 2061: _⁡_ function application 2062: _⁢_ invisible times 2063: _⁣_ invisible separator 2064: _⁤_ invisible plus 2065: _⁥_ unassigned 2066: _⁦_ left-to-right isolate 2067: _⁧_ right-to-left isolate 2068: _⁨_ first strong isolate 2069: _⁩_ pop directional isolate 206A: __ inhibit symmetric swapping (deprecated) 206B: __ activate symmetric swapping (deprecated) 206C: __ inhibit arabic form shaping (deprecated) 206D: __ activate arabic form shaping (deprecated) 206E: __ national digit shapes (deprecated) 206F: __ nominal digit shapes (deprecated) 3164: _ㅤ_ Hangul filler FE00: _︀_ variation selector-1 (VS1) FE01: _︁_ variation selector-2 (VS2) FE02: _︂_ variation selector-3 (VS3) FE03: _︃_ variation selector-4 (VS4) FE04: _︄_ variation selector-5 (VS5) FE05: _︅_ variation selector-6 (VS6) FE06: _︆_ variation selector-7 (VS7) FE07: _︇_ variation selector-8 (VS8) FE08: _︈_ variation selector-9 (VS9) FE09: _︉_ variation selector-10 (VS10) FE0A: _︊_ variation selector-11 (VS11) FE0B: _︋_ variation selector-12 (VS12) FE0C: _︌_ variation selector-13 (VS13) FE0D: _︍_ variation selector-14 (VS14) FE0E: _︎_ variation selector-15 (VS15) FE0F: _️_ variation selector-16 (VS16) FEFF: __ zero width no-break space FFA0: _ᅠ_ halfwidth Hangul filler FFF0: _￰_ unassigned FFF1: _￱_ unassigned FFF2: _￲_ unassigned FFF3: _￳_ unassigned FFF4: _￴_ unassigned FFF5: _￵_ unassigned FFF6: _￶_ unassigned FFF7: _￷_ unassigned FFF8: _￸_ unassigned FFF9: __ interlinear annotation anchor FFFA: __ interlinear annotation separator FFFB: __ interlinear annotation terminator FFFC: __ object replacement character FFFE: _￾_ FFFF: _￿_ 13430: _𓐰_ Egyptian hieroglyph vertical joiner 13431: _𓐱_ Egyptian hieroglyph horizontal joiner 13432: _𓐲_ Egyptian hieroglyph insert at top start 13433: _𓐳_ Egyptian hieroglyph insert at bottom start 13434: _𓐴_ Egyptian hieroglyph insert at top end 13435: _𓐵_ Egyptian hieroglyph insert at bottom end 13436: _𓐶_ Egyptian hieroglyph overlay middle 13437: _𓐷_ Egyptian hieroglyph begin segment 13438: _𓐸_ Egyptian hieroglyph end segment 13439: _𓐹_ Egyptian hieroglyph insert at middle 1343A: _𓐺_ Egyptian hieroglyph insert at top 1343B: _𓐻_ Egyptian hieroglyph insert at bottom 1343C: _𓐼_ Egyptian hieroglyph begin enclosure 1343D: _𓐽_ Egyptian hieroglyph end enclosure 1343E: _𓐾_ Egyptian hieroglyph begin walled enclosure 1343F: _𓐿_ Egyptian hieroglyph end walled enclosure 1BCA0: _𛲠_ shorthand format letter overlap 1BCA1: _𛲡_ shorthand format continuing overlap 1BCA2: _𛲢_ shorthand format down step 1BCA3: _𛲣_ shorthand format up step 1D159: _𝅙_ musical symbol null notehead 1D173: _𝅳_ musical symbol begin beam 1D174: _𝅴_ musical symbol end beam 1D175: _𝅵_ musical symbol begin tie 1D176: _𝅶_ musical symbol end tie 1D177: _𝅷_ musical symbol begin slur 1D178: _𝅸_ musical symbol end slur 1D179: _𝅹_ musical symbol begin phrase 1D17A: _𝅺_ musical symbol end phrase E0000: _󠀀_ unassigned E0001: _󠀁_ language tag (deprecated) E0002: _󠀂_ unassigned ... (E0002-E0019 unassigned) E0019: _󠀙_ unassigned E0020: _󠀠_ tag space ... (E0020-E007F formerly used for tagging texts by language) E007F: _󠁿_ cancel tag E0080: _󠂀_ unassigned ... (E0080-E00FF unassigned) E00FF: _󠃿_ unassigned E0100: _󠄀_ variation selector 17 ... (E0100-E01EF: variation selectors supplement) E01EF: _󠇯_ variation selector 256 E01F0: _󠇰_ unassigned ... (E01F0-E0FFF unassigned) E0FFF: _󠿿_ unassigned EFFFD: _󯿽_ unassigned EFFFE: _󯿾_ EFFFF: _󯿿_ 10FFFD: _􏿽_ unassigned (private use) 10FFFE: _􏿾_ 10FFFF: _􏿿_ Not included: samples from unassigned ranges `*FF80-*FFFF`, with the exception of `EFF80-EFFFF`, a sample of which is included. ## ASCII control codes 00: _ 01: __ start of heading 02: __ start of text 03: __ end of text 04: __ end of transmission 05: __ enquiry 06: __ acknowledge 07: __ bell 08: __ backspace 0B: _ _ line tabulation (vertical tabulation) 0C: _ _ form feed 0E: __ shift out 0F: __ shift in 10: __ data link escape 11: __ device control one 12: __ device control two 13: __ device control three 14: __ device control four 15: __ negative acknowledge 16: __ synchronous idle 17: __ end of transmission block 18: __ cancel 19: __ end of medium 1A: __ substitute 1B: __ escape 1C: __ information separator four (file separator) 1D: __ information separator three (group separator) 1E: __ information separator two (record separator) 1F: __ information separator one (unit separator) 7F: __ delete 80: _€_ 81: __ 82: _‚_ break permitted here 83: _ƒ_ no break here 84: _„_ formerly known as "index" 85: _…_ next line 86: _†_ start of selected area 87: _‡_ end of selected area 88: _ˆ_ character tabulation set 89: _‰_ character tabulation with justification 8A: _Š_ line tabulation set 8B: _‹_ partial line forward 8C: _Œ_ partial line backward 8D: __ reverse line feed 8E: _Ž_ single shift two 8F: __ single shift three 90: __ device control string 91: _‘_ private use one 92: _’_ private use two 93: _“_ set transmit state 94: _”_ cancel character 95: _•_ message waiting 96: _–_ start of guarded area 97: _—_ end of guarded area 98: _˜_ start of string 99: _™_ 9A: _š_ single character introducer 9B: _›_ control sequence introducer 9C: _œ_ string terminator 9D: __ operating system command 9E: _ž_ privacy message 9F: _Ÿ_ application program command ## Thin space characters 0020: _ _ space [for comparison] 205F: _ _ medium mathematical space (MMSP) 202F: _ _ narrow no-break space 2006: _ _ six-per-em space 2009: _ _ thin space 200A: _ _ hair space Contact me if you know of any other character that should be included in this file. Contact info: gopher://rawtext.club/0/~nervuri/contact.txt This test page is also available on the Web and on Gemini: https://nervuri.net/zero-width gemini://rawtext.club/~nervuri/zero-width.gmi The web version also contains links to programs which (more or less) pass the test.