Font Character Checker

Paste the text you intend to set and find every character the font cannot render, or look up a single character or code point. Every glyph shown is drawn in your own font file.

Drop a font here, or click to choose one

.ttf · .otf · .woff · .woff2  ·  up to 20 MB

The font is read on your own device. Nothing is sent to this site, and nothing is stored.

How to use this tool

  1. Drop a font file onto the box above.
  2. Paste your real text into the first box – the actual headline, product name or bio, not a sample. Duplicates are collapsed, so you get a list of distinct problems rather than the same character reported forty times.
  3. Read the verdict. Either every character is available, or you get a tile for each one that is missing.
  4. Look up individual characters in the second box when you need the code point, the HTML entity or the CSS escape.
  5. Click any available character to copy it.

Why paste text instead of checking characters one at a time

Because the failure you are trying to avoid is a specific one: you set a name or a strapline in a font you like, and one character in it – a curly apostrophe, an é, a ₹, an em dash – turns into a box on someone else's screen. You cannot predict which character that will be by looking at the font. You can find it in a second by pasting the string.

The characters that catch people out are almost never exotic. They are typographic apostrophes and quotes that a word processor substituted silently, accented letters in a surname, a currency symbol, or an arrow copied out of a spec.

What the boxes actually mean

Every glyph on this page is rendered using the font file you dropped, loaded into the browser directly. So a character that appears as a box, or as a shape that looks wrong, is genuinely absent from the file – the page is not substituting a system font behind your back and flattering the result.

On a real website a missing character does not necessarily show as a box, which is what makes this hard to catch by eye. The browser falls back to the next font in your font-family stack, so one letter in a word silently renders in a different typeface. It looks like a kerning problem rather than a missing glyph, and it is easy to ship.

Notation the lookup accepts

  • The character itself – paste or type it.
  • U+20B9 – the standard Unicode notation.
  • 20B9 – bare hexadecimal, four to six digits.
  • 0x20B9 – the C-style form used in a lot of tooling.
  • 8377 – plain decimal, as some bug trackers report it.

Paste several characters at once and you get a tile for each, with the missing ones marked – useful for checking a set of symbols before committing to a font.

To check whole writing systems rather than individual characters, use the language checker. For everything inside the file – metrics, licensing, features – use the font analyzer. If you just want decorated characters to paste into a bio, that is the symbol collection instead.

Frequently asked questions

Drop the font on the page and type or paste the character into the lookup box. You can also enter a code point as U+20B9, 20B9, 0x20B9 or plain decimal. The result tells you whether the font contains it and shows the glyph drawn in that font.

Yes, and that is the more useful direction. Paste the text you actually intend to set and the tool reports every distinct character the font is missing. Duplicates are collapsed, so you get a list of real problems rather than the same character reported forty times.

Almost never exotic ones. The usual culprits are typographic apostrophes and curly quotes that a word processor substituted silently, accented letters in a surname, currency symbols, em dashes, and arrows copied out of a spec.

Usually not a box. The browser falls back to the next font in your font-family stack, so a single letter in a word silently renders in a different typeface. It reads as a spacing or kerning problem rather than a missing glyph, which is exactly why it gets shipped.

Yes. The file is loaded into the browser and every glyph on the page is drawn with it, so a character that appears as a box is genuinely absent from the file. The page is not substituting a system font and flattering the result.

No. The file is read and rendered entirely in your own browser. Nothing is sent to this site and nothing is stored.