Font Viewer
Open a font file in your browser and see what is inside it, without installing it. Drop a TTF, OTF, WOFF or WOFF2 file and the viewer shows a line of your own text in the font, then every glyph in a grid with its glyph name and Unicode code point, including the alternates and ligatures that have no code point. Click a glyph for its details: advance width, side bearings, bounds, contours and points, drawn large with the baseline, x-height, cap height, ascender and descender, and with the outline points if you want them. Save any glyph as a PNG or an SVG, or the whole grid as one SVG sheet. The font information panel lists the names stored in the file (family, version, designer, licence), the weight and width classes, the embedding permission and the OpenType features, and a coverage table shows which Unicode blocks the font supports. WOFF2 files are decoded in the browser too. Nothing is uploaded.
100% private — everything runs in your browser. Everything runs in your browser; your font files are never uploaded.
Glyphs
Glyph detail
Save this glyph
Font information (name table, OS/2, head, features, axes)
Unicode block coverage
Runs in your browser: your font file is read on your device and never uploaded. The font parser (opentype.js) and the WOFF2 decoder load from the jsDelivr CDN. You may use what you make here, including commercially, with no credit needed. Glyphs you export are still covered by the font’s own licence.
How to view a font file
- Drop a font file on the box, or click Try a sample font.
- Type a line of your own text to see it in the font.
- Scroll the glyph grid, or filter it by block, by mapped or unmapped glyphs, or by a character, U+ code or name.
- Click a glyph for its metrics and outline, then save it as a PNG or SVG.
What you can use it for
- Check a font you downloaded before installing it
- See every glyph and ligature a font ships
- Find a glyph’s name and code point for CSS or code
- Export a single glyph as a PNG or SVG for a mock-up
- Check which languages and symbols a font covers
- Read a font’s licence and embedding permission
What the viewer reads from a font file
| In the font | What you see |
|---|---|
| cmap table (characters to glyphs) | The code point under each glyph in the grid; a coverage table by Unicode block |
| glyf or CFF outlines | Each glyph drawn; in the detail, contours, on-curve and off-curve points |
| hmtx (advance widths) | Advance width and side bearings of the selected glyph |
| post or CFF glyph names | The name under each glyph (A, eacute, f_i …) |
| name table | Family, subfamily, full name, version, designer, licence, copyright and other names |
| OS/2 table | Weight class, width class, italic flag, embedding permission (fsType), vendor ID, x-height and cap height |
| head and hhea tables | Units per em, created and modified dates, ascender, descender, line gap |
| GSUB and GPOS | The OpenType features the font lists (ligatures, kerning, alternates …) |
| fvar (variable fonts) | Axes with their ranges and the number of named instances |
Glyphs are drawn from their outlines, so glyphs with no code point are shown too. The line of sample text uses the font itself through the browser, so it shows what a web page would show.
The sample font
| Read from the sample | Value |
|---|---|
| Glyphs | 88 |
| Code points mapped | 86 |
| Unicode blocks touched | 7 |
| Units per em | 1000 |
| Ascender / descender | 800 / -200 |
| x-height / cap height | 500 / 700 |
| Weight class | 400 (Regular) |
| OpenType features | liga |
| Embedding (fsType) | Installable: no embedding restriction set |
| Glyph | Code point | Advance | Bounds (xMin, yMin, xMax, yMax) | Contours | On / off-curve points |
|---|---|---|---|---|---|
| A | U+0041 | 600 | 64, 14, 536, 686 | 9 | 36 / 0 |
| g | U+0067 | 600 | 64, -186, 536, 486 | 10 | 40 / 0 |
| uni25CB | U+25CB | 600 | 75, 75, 525, 525 | 2 | 16 / 16 |
| f_i | none | 600 | 64, 14, 536, 686 | 13 | 52 / 0 |
The sample is a small font made by us for testing (MGD Test Sans, a pixel-grid face), so its glyphs are known. Computed by the viewer’s own reader. The ring has curves, so it has off-curve points; f_i has no code point and is reached through the liga feature.
Unicode coverage of the sample
| Unicode block | Code points in the font | Code points in the block range |
|---|---|---|
| Basic Latin | 75 | 128 |
| Latin-1 Supplement | 1 | 128 |
| Greek and Coptic | 1 | 144 |
| General Punctuation | 6 | 112 |
| Arrows | 1 | 112 |
| Geometric Shapes | 1 | 96 |
| Private Use Area | 1 | 6400 |
Block size counts every code point in the block’s range, including ones Unicode has not assigned. The same table appears for your font, with a CSV download.
What the test files give
| Test file | Format | Outlines | Glyphs | Code points | Weight | Same as an independent reader |
|---|---|---|---|---|---|---|
| Regular.ttf | TTF | TrueType | 88 | 86 | 400 Regular | yes |
| Regular.otf | OTF | CFF | 88 | 86 | 400 Regular | yes |
| Regular.woff | WOFF | TrueType | 88 | 86 | 400 Regular | yes |
| Regular.woff2 | WOFF2 | TrueType | 88 | 86 | 400 Regular | yes |
| Bold.woff2 | WOFF2 | TrueType | 88 | 86 | 700 Bold | yes |
| Black.otf | OTF | CFF | 88 | 86 | 900 Black | yes |
Computed at build time: the viewer’s reader on our own test fonts, compared glyph by glyph (names, advance widths, contours) with the values fontTools reads from the same files.
Embedding permissions (fsType)
| fsType value | Name in the specification | What the viewer says |
|---|---|---|
| 0 | Installable | Installable: no embedding restriction set |
| 2 | Restricted licence | Restricted licence embedding: the font may not be embedded without the owner’s permission |
| 4 | Preview and print | Preview and print: may be embedded in documents that are viewed or printed, not edited |
| 8 | Editable | Editable: may be embedded in documents that can be edited |
| 256 | No subsetting (added to the above) | Installable: no embedding restriction set; no subsetting |
| 512 | Bitmap embedding only (added to the above) | Installable: no embedding restriction set; bitmap embedding only |
The fsType field in the OS/2 table is set by the font’s maker and says how the font may be embedded in documents. It is a flag in the file, not a licence: the licence that came with the font is what counts.
Font formats
| Format | What it is | Opened here |
|---|---|---|
| TTF | TrueType font: quadratic outlines in the glyf table | Yes |
| OTF | OpenType font, usually with PostScript (CFF) cubic outlines | Yes |
| WOFF | Web font: the same tables, each compressed with zlib | Yes |
| WOFF2 | Web font compressed with Brotli and transformed tables | Yes, decoded in the browser first |
| TTC / OTC | Several fonts in one collection file | No: extract one font first |
A WOFF or WOFF2 file holds the same font as a TTF or OTF, so glyphs, names and metrics read the same.
Next steps
To find and copy a character fast, use the Character Map. To read only the licence and version fields, use the Font Metadata Inspector. To try your text in many fonts, use the Font Tester. To turn a WOFF2 into a TTF, use WOFF2 to TTF, and to cut a font down to the characters you need, the Font Subsetter.
Sources
Sources: OpenType specification: OS/2 table (usWeightClass, usWidthClass, fsType, fsSelection); OpenType specification: name table (name IDs); OpenType specification: glyf table (on-curve and off-curve points); W3C: WOFF File Format 1.0; W3C: WOFF File Format 2.0; opentype.js (MIT), version 1.3.4.
More free tools
Working with font files?
Inspect, convert and test fonts with free typography tools that run privately in your browser, with no sign-up and no watermark.
Frequently asked questions
Is this font viewer free?
Yes. There is no sign-up, no watermark and no limit on how many fonts you open. The file is read in your browser, so it never leaves your device.
Which font files does it open?
TTF and OTF (TrueType or PostScript outlines), WOFF and WOFF2 web fonts. A TrueType Collection (.ttc) holds several fonts in one file, so it is refused with a note to extract one font first.
Does it open WOFF2 files?
Yes. WOFF2 is compressed with Brotli, so the viewer decodes it in your browser first (with the open-source WOFF2 decoder, loaded from jsDelivr), then reads the font as usual.
What are unmapped glyphs?
Glyphs with no Unicode code point, such as ligatures (fi, ffl), small capitals or alternates. You reach them through OpenType features, not by typing. The grid shows them with the label unmapped.
What do the points on the outline mean?
Filled points sit on the outline. Hollow points are control points that pull the curve: TrueType fonts use one between on-curve points (quadratic curves), OpenType CFF fonts use two (cubic curves).
Can I export glyphs?
Yes. Save the selected glyph as a PNG (256, 512 or 1024 px, transparent or white) or as an SVG, or download the current grid as one SVG sheet with names and code points. Exports of a font’s glyphs are still covered by the font’s licence.
Can I install the font from here?
No. The viewer reads the file; it does not install anything. Install a font through your operating system’s font settings.
Is my font uploaded?
No. The font file is read by JavaScript in your browser, so it is safe to open licensed or unreleased fonts.