Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

A font audit answers two different questions: what font actually renders in each brand touchpoint, and whether that use is approved, accessible, and licensed. Start with the brand specification, inspect live text and flattened artwork by different methods, record the complete typographic system—not just a family name—and verify every license before standardizing the result.

What a font-consistency audit measures

Brand consistency is not achieved merely by seeing the same family name in a design file. Compare the approved specification with what users actually see in websites, apps, email, documents, social graphics, packaging, signage, videos, and PDFs.

For every sampled text role, record:

  • Family and actual rendered face
  • Weight, style, and variable-font axis values
  • Font size, line height, letter spacing, and text transformation
  • Fallback cascade and whether a fallback rendered
  • Language and glyph coverage
  • Role in the hierarchy: wordmark, heading, body, caption, button, table, or numeric data
  • URL or asset name, platform, locale, date, screenshot, and reviewer

A useful finding distinguishes an approved use from an approved fallback, implementation defect, accessibility defect, licensing risk, or unresolved identification.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

1. Establish the approved control

Obtain the current brand guide and font package before inspecting pages. Extract the primary family, permitted weights and styles, fallback order, minimum sizes, hierarchy, and contexts where substitutions are allowed. Do not silently broaden a fallback into a second primary font.

For example, UK Space Agency guidance says its primary typeface should not be “condensed, expanded or substituted,” while naming Arial as a secondary typeface when the primary is unavailable. TxDOT documents IBM Plex Sans with a fallback order of Verdana, Aptos, Arial, then Sans Serif. Treat such fallback orders as intentional controls, not suggestions.

Create a control sheet

Field Example entry Why it matters
Primary family Approved brand family Identifies the intended design
Approved styles Regular, semibold, italic Prevents unauthorized weights or faux styles
Fallback cascade Brand family, system fallback, sans-serif Defines behavior when a webfont is unavailable
Minimum size Per medium and audience Supports legibility and accessibility
Hierarchy H1, H2, body, labels, data Captures consistency beyond family name
Allowed contexts Web, app, print, documents, campaigns Connects design rules to licensing

2. Sample every meaningful touchpoint

Choose representative pages and assets rather than auditing one marketing page. Include the public website, authenticated product screens, mobile app, email templates, presentations, PDFs, social graphics, packaging, signage, and video frames. Capture the same roles in each sample so comparisons are valid.

  1. Assign each sample an ID and record its URL or asset filename.
  2. Note platform, operating system, browser or app version, locale, and date.
  3. Capture a screenshot showing the text in context.
  4. Record the computed or embedded font evidence separately from visual observations.
  5. Repeat after deployment; a production webfont can fail even when the design file is correct.

3. Inspect live HTML and CSS

Live text can expose its rendered font. CSS source alone is insufficient because a declared first choice may be missing, blocked, or replaced by a fallback.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use browser DevTools

  1. Open the page and right-click the text, then choose Inspect.
  2. Select the exact text node, not only its parent container.
  3. In the Computed styles, record font-family, font-size, font-weight, font-style, line-height, and letter-spacing.
  4. Open the rendered-font information (the wording varies by browser) to see which face supplied the glyphs.
  5. In the Network panel, filter for font requests. Check status, file format, response size, and whether the intended weight loaded.
  6. Compare the result with the control sheet and save a screenshot of the evidence.

Font Inspector describes complementary routes: an extension, DevTools, stylesheet and network inspection, and image identification. Its product information says it can expose family, size, weight, spacing, colors, page-wide usage, and source. Use those fields to detect differences that are invisible in a family-only report.

Check the details that create visual drift

  • Weight: A browser may synthesize bold when the requested file is absent, changing stroke shape.
  • Variable axes: Weight, width, optical size, or slant settings can alter appearance while retaining the same family name.
  • Line height: Different defaults change rhythm, card height, and vertical alignment.
  • Letter spacing: Small tracking changes are especially visible in headings, buttons, and all-caps labels.
  • Fallback by character: Missing symbols, emoji, or non-Latin glyphs may come from another font in the same line.
  • Loading behavior: A screenshot taken before the webfont loads can document a temporary system face rather than the final state.

4. Identify logos and flattened artwork

CSS inspection cannot recover a font from text that has been converted to pixels or outlines. This includes PNG and JPEG graphics, rasterized PDF pages, video frames, and canvas-rendered lettering.

  1. Crop a clear, horizontal sample with several distinctive letters.
  2. Exclude background clutter, shadows, and decorative marks where possible.
  3. Upload the crop to an image identifier such as MyFonts WhatTheFont.
  4. Review the returned candidates, then compare distinctive glyphs manually at the same scale.
  5. Record the result as a candidate identification until the original design file or font package confirms it.

MyFonts says WhatTheFont uses deep learning to search its collection and can identify multiple fonts in one image. It is useful evidence, not proof: custom lettering, altered kerning, and outlined logos can produce near matches.

5. Inspect font files and language coverage

When you have OTF, TTF, WOFF, or WOFF2 files, inspect the package rather than trusting the filename. Record family and style names, version, copyright, embedding permissions, glyph count, Unicode ranges, and supported scripts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

WhatFontIs says its analyzer performs this work locally and displays licensing information, glyph coverage, and language support. Its 2026 vendor disclosure reports more than 1.2 million indexed fonts and a test set with top-1, top-5, top-10, and top-20 match rates of 81.4%, 92.8%, 94.5%, and 96.3%; these are vendor-reported figures, not an independent benchmark.

Test real content

Render names, currencies, dates, accented characters, Greek or Cyrillic text, right-to-left scripts, mathematical symbols, and emoji that your product actually uses. A family can look correct in English while silently falling back for another locale. Compare line breaks and baseline alignment as well as glyph shape.

6. Validate accessibility with visual fidelity

A brand font that is visually accurate but unreadable is not a successful implementation. Check contrast, size, spacing, resizing, zoom, high-contrast modes, and assistive-technology behavior alongside the brand rules.

  • WCAG 2.1 guidance sets a 4.5:1 contrast ratio for normal text and 3:1 for large text. Logotypes have an exception, but an interactive logo link still needs to be legible.
  • UK Space Agency guidance recommends 12 pt for general print, 16 pt for audiences with visual impairment or older people, at least 2 pt of leading beyond the type size, left-ragged text, and about 70 characters per line.
  • Apple guidance says a brand-associated font should remain legible at all sizes and support bold text and Dynamic Type.

Use real text with CSS whenever possible. Text embedded in images cannot reliably respond to browser resizing or user high-contrast settings. Define a fallback for systems that lack the first-choice font, and test zoom and operating-system text-size settings rather than judging only a static screenshot.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

7. Verify licensing before approving a font

Identification is not permission. “Finding a font does not grant you a license.” Confirm that the license covers every intended use:

  • Desktop design and internal editing
  • Web embedding, including the number of domains or page views if restricted
  • App bundling and downloadable software
  • Server-side rendering or image generation
  • Embedding in PDFs and office documents
  • Redistribution to agencies, contractors, or customers
  • Required territories, languages, and campaign duration

Keep the invoice, license text, permitted-user count, font version, and renewal terms with the audit record. BASF describes corporate fonts as licensed software and requires external parties to obtain appropriate licenses; it also restricts handwritten campaign fonts from replacing the core font in formal brand materials.

8. Report findings and remediate them

Use one row per touchpoint and text role. Attach the evidence screenshot, computed style or font-file metadata, affected asset, severity, owner, and fix. A concise report might use these classifications:

Classification Meaning Typical action
Approved Rendered values match the control Close or monitor
Approved fallback Documented fallback rendered as intended Confirm trigger and locale coverage
Implementation defect Wrong family, weight, spacing, or loading state Fix CSS, assets, or deployment configuration
Accessibility defect Contrast, size, spacing, or resizing fails Adjust tokens and retest with assistive settings
Licensing risk Permission is missing or unclear Obtain coverage or replace the font
Unresolved identification Image match is only a candidate Locate source artwork or designer files

Choosing an inspection method

Method Best input Evidence strength Limit
DevTools and font inspector Live HTML text Rendered family, weight, spacing, source, and computed values Cannot identify flattened lettering
Image identifier Logo, screenshot, raster PDF, video frame Candidate families and similar glyphs Needs manual confirmation; altered lettering can mislead
Font-file analyzer OTF, TTF, WOFF, WOFF2 Metadata, glyph coverage, language and licensing indicators Does not prove the file is used in production
Manual accessibility review All touchpoints Contrast, resizing, legibility, hierarchy Must be combined with technical evidence

Or skip the browser setup

If your audit needs repeatable screenshots of live pages, ScreenshotNeo can capture the evidence through one request. It accepts a URL and returns PNG, JPEG, WebP, or PDF; options include full-page capture with lazy images loaded, CSS-selector element capture, device and retina settings, custom CSS or JavaScript, waits, cookies, headers, geolocation, and signed links. Cookie and consent banners, newsletter popups, and chat widgets are removed before capture. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing result. An MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

See the ScreenshotNeo documentation for parameter details. The following examples capture a page for your audit.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is on every plan. Create a free ScreenshotNeo account to collect reproducible audit evidence.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting common audit failures

The CSS says the right family, but the page looks wrong

Inspect rendered-font information and the Network panel. A 404, blocked request, unsupported format, or incorrect weight mapping may have triggered a fallback or synthesized bold. Fix the asset URL or @font-face declaration, then retest after a clean reload.

Only some letters look different

Check Unicode ranges and fallback glyphs. Add the required language subset or select a family with complete coverage; test the actual locale content.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The logo identifier returns many unrelated matches

Crop more tightly, include more distinctive glyphs, remove effects, and compare candidates manually. Treat the result as unresolved until source artwork or metadata confirms it.

A PDF passes visual review but fails accessibility

The page may contain an image rather than selectable text, or the embedded font may have restricted extraction. Export a tagged, text-based PDF with appropriate embedding rights and test zoom, selection, and assistive technology.

Production screenshots show consent banners

Capture after the consent state is established, or use a capture workflow that accepts and removes known consent interfaces before recording evidence. Save the URL, settings, timestamp, and verdict with the screenshot.

Audit checklist

  • Brand control lists family, weights, fallbacks, sizes, hierarchy, and contexts.
  • Representative web, app, email, document, social, print, and signage samples are logged.
  • Rendered fonts, not only CSS declarations, are recorded.
  • Images and logos are identified separately from live text.
  • Font metadata, scripts, glyph coverage, and variable axes are checked.
  • Contrast, resizing, line length, spacing, and Dynamic Type or equivalent settings are tested.
  • Desktop, web, app, server, document, redistribution, territory, and language rights are confirmed.
  • Each issue has evidence, severity, owner, remediation, and a post-deployment retest.

Frequently Asked Questions

Can a screenshot prove which font a website uses?

No. A screenshot can document appearance, but live-text inspection or source font metadata is needed to establish the rendered family, weight, fallback, and spacing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should a logo use the same font as body text?

Not necessarily. Record the logo as a separate approved role; confirm its source lettering and license even when the body typeface is different.

When is a fallback acceptable?

Only when the brand specification permits it and the fallback preserves legibility, hierarchy, language coverage, and accessibility.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.