Why capital I and lowercase l look the same
In many sans-serif fonts — including Apple's San Francisco, Google's Roboto, Helvetica, Calibri, and Arial — the uppercase letter I, lowercase letter l, and the digit 1 render as almost-identical vertical strokes. Serif fonts break the tie by adding little horizontal "feet" to capital I and a tail to lowercase l, but most modern digital interfaces default to sans-serif for a cleaner look. That leaves users staring at passwords and codes wondering which is which.
This tool solves that in three ways. It color-codes every ambiguous character so you can see them at a glance. It lets you switch fonts so you can compare a serif rendering to the sans-serif one that confused you in the first place. And it produces a per-position list of every ambiguous character with its Unicode name (LATIN CAPITAL LETTER I, LATIN SMALL LETTER L, DIGIT ONE, etc.), so if you're on a phone call reading a password aloud you can dictate it unambiguously.
Characters this checker disambiguates
| Character | Unicode | Legend color | Often confused with |
|---|---|---|---|
| I — capital I | U+0049 | Blue | l, 1, | |
| l — lowercase L | U+006C | Yellow | I, 1, | |
| 1 — number one | U+0031 | Purple | I, l, | |
| O — capital O | U+004F | Orange | 0, °, o |
| 0 — number zero | U+0030 | Green | O, o, ° |
| | — pipe / vertical bar | U+007C | Pink | I, l, 1 |
| Homoglyphs | various | Red (dashed) | Cyrillic а е о р с х, Greek Α Β Ε Ζ Η Ι Κ Μ Ν Ο Ρ Τ Χ, mathematical alphanumeric symbols |
Homoglyph detection (phishing protection)
Homoglyphs are characters from different writing systems that render as visually identical glyphs. The classic phishing trick uses Cyrillic а (U+0430) in place of Latin a (U+0061) inside a domain name — the URL looks like apple.com, but half the letters are Cyrillic. Browsers now flag many of these as internationalized-domain-name (IDN) spoofing risks, but plenty slip through in email, chat messages, or copy-pasted strings.
This checker highlights any homoglyph in red with a dashed border and lists each in the per-position table with its actual Unicode code point. If you're auditing a suspicious link or email, paste it here first.
⚠ Note: some documents legitimately mix scripts (Cyrillic quotes, Greek math symbols, Chinese punctuation). A homoglyph flag is a signal to check, not proof of malice.
How to tell them apart by eye
I vs l vs 1
- Serif fonts (Times, Georgia, Cambria): capital I has serifs top and bottom; lowercase l usually has a small serif at the top-left and a subtle tail; number 1 typically has a diagonal flag at the top-left and a serif base.
- Sans-serif fonts (Arial, Helvetica, SF, Roboto): I and l are usually identical. Number 1 often has a small angled top and sometimes a horizontal base.
- Coding fonts (Fira Code, JetBrains Mono, Consolas, Source Code Pro): explicitly designed to differentiate — l has a curved tail, 1 has serifs, I has a horizontal bar.
O vs 0
- Uppercase O is usually wider and rounder.
- Number 0 is usually narrower and more oval — and in many coding fonts has a slash or dot inside.
- Context helps: 0 is more likely surrounded by digits; O by letters.
Other tricky pairs (bonus)
Not highlighted by this tool but worth knowing:
- 2 vs Z: 2 has a curved top; Z is all straight lines with a diagonal.
- 8 vs B: 8 is rounded on both sides; B is flat on the left.
- 6 vs G: 6 has a closed loop at the bottom; G has an open shape with a horizontal bar.
- ` (backtick) vs ' (apostrophe): backtick is angled; apostrophe is vertical.
- - (hyphen) vs – (en dash) vs — (em dash): increasing width; hyphens are for compound words, en dashes for ranges, em dashes for pauses.
When you need this
- Passwords and API keys. Reading a mixed-case password over the phone or from a printout.
- Serial numbers and license keys. Software activation, hardware serials, order confirmation numbers.
- URLs. Distinguishing Iogin.com (capital I) from login.com (lowercase l).
- Cryptocurrency addresses and wallets. One wrong character sends funds to nowhere.
- Code review. Spotting a variable named l vs I in dense code.
- Accessibility. Dyslexic and low-vision readers benefit from any tool that names each character.
- Phishing analysis. Homoglyph detection catches many spoofed domains.
Frequently asked questions
How can I tell if a character is capital I or lowercase l?
Paste your text and this tool color-codes both. Blue = capital I, yellow = lowercase l. The per-position list below the preview also names each character (LATIN CAPITAL LETTER I vs LATIN SMALL LETTER L).
Which fonts distinguish them best?
Serif fonts (Times, Georgia, Cambria) and coding fonts (Fira Code, JetBrains Mono, Consolas, Source Code Pro) are designed to differentiate. Use the Serif or Monospace button above to try them.
Is it safe to paste a password?
The tool runs entirely in your browser — nothing is uploaded. Still, avoid pasting production credentials into any online tool as a general security habit.
What are homoglyphs?
Look-alike characters from other scripts. Cyrillic а (U+0430) looks identical to Latin a but is a completely different character. Attackers use them in phishing URLs. This checker flags them in red.
What is the pipe character (|)?
The vertical bar U+007C, used in shells and regex. It's a straight line with no serifs, and often sits lower than I or l.
Can I get a labeled version of my text?
Yes — click Copy disambiguated and every ambiguous character is wrapped in a label, e.g. Il1O0 becomes [I][l][1][O][0].
Why does the tool not highlight lowercase o or the letter i?
Lowercase o and lowercase i are usually easy to tell apart from other characters because of their dots and shapes. The confusing pairs are the ones highlighted.
Related tools
References
- Unicode Consortium — Character names, code points, and General_Category for U+0030–U+007C.
- Unicode UTR #36 & UTR #39 — Security considerations, Confusables data set (source of the homoglyph mapping).
- ICANN & IETF RFC 5891 — Internationalized Domain Names for Applications (IDNA) and homograph-attack guidance.
- Font-design references on I/l/1 differentiation (Fira Code, JetBrains Mono, Source Code Pro documentation).