25 fonts
Selected for download

Click fonts to select them

To embed in Odoo Knowledge: host this file and paste its URL into a page block using / → HTML Block or an <iframe> in the article source.
ADA §703.5 criteria
Sans-serif, conventional form (§703.5.3)
O:I width ratio 55–110% (§703.5.4)
Stroke weight 10–30% of height (§703.5.7)
Character spacing 10–35% (§703.5.8)
No italic/script/decorative (§703.5.3)

= passes with weight restrictions

Test any Google Font for ADA §703.5 compliance

Enter a Google Font name exactly as it appears on fonts.google.com. The tool renders test characters on a canvas and measures key geometric ratios against ADA signage standards.

How scoring works (Google Fonts)
Canvas pixel measurement
Renders I and O to a hidden canvas at 120px, scans bounding boxes for §703.5.4 O:I ratio and §703.5.7 stroke weight. Accuracy ~±5%.
Style & form
Font name heuristics detect serif, script, and decorative patterns for §703.5.3 compliance.
Upload a TTF instead
For higher-accuracy metric analysis using the actual font binary tables, use the Upload TTF / OTF file tab.
Quick-test suggestions
Drop a TTF, OTF, WOFF or WOFF2 file here
Or click to browse your files

Files are processed entirely in your browser — nothing is uploaded to any server. Analysis reads font metric tables directly from the binary file for the most accurate ADA §703.5 measurements available.

Live character preview
IO Hamburgefons
The quick brown fox jumps over the lazy dog
I O H B D 1 l 0 8 Q W M
Light-on-dark contrast test
IO Hamburgefons


Raw font metrics from binary tables
MetricValueSource

How TTF analysis works
Direct table parsing
Reads binary font tables using a JavaScript DataView — no server, no library. Measurements from the font's own metric data.
Tables read:
  • head — unitsPerEm
  • OS/2 — sCapHeight, usWeightClass, fsSelection, panose
  • hhea — ascender, lineGap
  • hmtx — advance widths for O and I
  • cmap — glyph index for O and I
  • name — family name, subfamily
Accuracy
O:I from hmtx is exact. Stroke from usWeightClass is a strong estimate; canvas provides cross-check. Combined: ±2–3% vs ±5% canvas-only.
Privacy
Font file never leaves your browser. All parsing runs locally in JavaScript.
ADA §703.5 — what we measure
§703.5.3 Style — Sans-serif, no italic/script/decorative. Via OS/2 fsSelection, panose bFamilyType, name table.
§703.5.4 O:I proportion — O width 55–110% of I height. From hmtx advance widths / sCapHeight.
§703.5.7 Stroke weight — I stroke 10–30% of height. From usWeightClass + canvas cross-check.
§703.5.8 Spacing — 10–35% of height. Condensed-variant name detection.
§703.5.3 Conventional form — No unusual letterforms. Via panose + subfamily name.