Font Doctor

Drop a font and get one number: how ready this file is to serve on a website. Format, weight, character coverage, metadata, licensing and typographic features – each scored, each explained, each with the fix.

Drop a font here for a full check-up

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

The font is examined 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. TTF, OTF, WOFF and WOFF2 all work.
  2. Read the score – one number out of 100, with a plain-English verdict beside it.
  3. Start with the recommendations. They are ordered by what will make the biggest difference, and each links to the tool that does the job.
  4. Read the full rubric below them if you want to know why a check scored what it did. Every check shows its points and what it measures.
  5. Export the report to record the state of a file, or to hand a foundry something specific.

What the score actually measures

One question, and only one: is this file ready to serve on a website? It is not a judgement of the typeface. A beautiful font shipped as a one-megabyte unhinted TTF will score badly here and is still a beautiful font — the score is about the file, not the design.

The checks are weighted by how much each one costs a real visitor. Format and file size carry the most points because they are what a person on a slow connection actually pays for. Character coverage comes next, because a missing glyph is a visible defect. Metadata and licensing matter because a file nobody can identify later is a problem that surfaces long after it shipped.

The rubric

Printed in full on the page with every result, because a score whose arithmetic is hidden is not worth reading. In summary:

CheckPointsWhat earns them
Web format20WOFF2 scores full; WOFF half; TTF or OTF none.
File size20Under 50 KB is full marks; over 400 KB scores nothing.
Size justified by content10Bytes per glyph, judged against the glyph count – a CJK font is not penalised for being large.
Core character coverage15Basic Latin complete.
Typographic punctuation5Curly quotes, dashes, ellipsis.
Family and version10Both recorded in the file.
Licence discoverable20Licence text, licence URL, copyright and designer.
Kerning and ligatures10Both present.

What is deliberately not scored

The fsType embedding bits. When a font declares that it should not be subset or embedded, the page says so plainly – but it does not deduct points, because whether that restriction applies to you depends on the licence you hold, and the file cannot know that. Reporting it as a defect would be asserting something about your rights that this tool is in no position to assert.

Anything about the design. Letterform quality, spacing judgement, whether the italic is a real italic — none of that is machine-readable and none of it is here. Use the previewer and your own eyes.

Shaping correctness. The coverage checks confirm glyphs exist. Whether a font sets Arabic or Devanagari correctly needs shaping rules this does not test – the language checker explains that limit in more detail.

Where the numbers come from

Every figure is read by the same code the individual tool pages use: the parser behind the font analyzer, and the script table behind the language checker. That is deliberate – two implementations would eventually disagree about the same file, and the first symptom would be this page contradicting one of the others.

The fixes it recommends: TTF to WOFF2 and OTF to WOFF2 for format, the subsetter for weight, the character checker for coverage gaps, and the analyzer for the full licence fields.

Frequently asked questions

It answers one question: is this file ready to serve on a website? It is not a judgement of the typeface. A beautiful font shipped as a one-megabyte unhinted TTF scores badly and is still a beautiful font - the score is about the file, not the design.

Eight weighted checks totalling 100 points: web format (20), file size (20), licence discoverability (20), core character coverage (15), size justified by glyph count (10), family and version recorded (10), kerning and ligatures (10), and typographic punctuation (5). The full rubric is printed on the page with every result, including the points earned and available for each check.

Because it is what a real visitor pays for. Format and size together carry 40 of the 100 points, since those two decide how many bytes someone on a slow connection has to download before your text can render in the font you chose.

Because whether it applies to you depends on the licence you hold, and the file cannot know that. When a font declares that it should not be subset or embedded the page says so plainly, but it deducts no points - treating it as a defect would assert something about your rights that this tool is in no position to assert.

No. It means the file is not ready to serve as-is, which is usually fixable in a couple of minutes: convert it to WOFF2, subset it to the characters you use. The recommendations link straight to the tools that do each job.

Only whether the glyphs are present. Complex scripts such as Arabic, Devanagari and Thai also need shaping rules, which this does not test. The language checker explains that limit in more detail.

No. Everything is read in your own browser using the same parser as the font analyzer. Nothing is sent to this site and nothing is stored.