Advertisement — 728×90 header banner placeholder
Runs entirely in your browser — nothing is uploaded

Convert and preview
web fonts, beautifully.

Drop in a TTF or OTF file, turn it into web-ready WOFF and WOFF2 in seconds, and see exactly how it reads before you ship it — no installs, no accounts, no server round-trip.

Font converter

TTF and OTF in — WOFF and WOFF2 out. Fully local.

Drop a .ttf or .otf file here
or click to browse — max 30 MB

Live preview

Type your own text and see it set in the uploaded font.

Upload a font to preview it here.

Everything you need to know about converting fonts for the web

Desktop font formats like TTF (TrueType) and OTF (OpenType) were built for operating systems and design software, not browsers. They're larger than they need to be for delivery over a network, and modern browsers expect formats that are purpose-built for the web: WOFF and WOFF2.

WOFF vs. WOFF2 — what's the difference?

WOFF (Web Open Font Format) wraps your font's original outline data with per-table zlib compression and a lightweight header, typically shaving off a modest amount of size while staying compatible with essentially every browser released in the last decade.

WOFF2 goes further: instead of compressing each table on its own, it compresses the whole font as a single Brotli stream, which regularly produces files 20–30% smaller than WOFF. Every modern browser supports WOFF2, so it should be your first choice — with WOFF as a compatibility fallback in your @font-face rule.

Why smaller font files matter

Fonts block text rendering until they load. A heavier font file means a longer flash of invisible or fallback text, which drags down Core Web Vitals metrics like Largest Contentful Paint. Converting to WOFF2 is one of the cheapest performance wins available for any type-heavy site.

How this converter works

When you drop a font into the tool above, Foonts reads the font's table directory directly in your browser using the File and Web Compression APIs, rebuilds the WOFF and WOFF2 container formats around your original glyph data, and hands you a download — the font file itself never leaves your device.

Adding your converted font to a site

Once you've downloaded your files, reference them with a standard @font-face block, listing WOFF2 first so capable browsers use the smaller file:

@font-face {
  font-family: "YourFont";
  src: url("yourfont.woff2") format("woff2"),
       url("yourfont.woff") format("woff");
  font-display: swap;
}

Licensing reminder

Converting a font's file format doesn't change its license. Only convert and publish fonts you own or that are licensed for web embedding.

Frequently asked questions

Is my font file uploaded anywhere?

No. Every conversion happens locally using your browser's built-in compression engine. Your font data is never sent to a server.

Will the converted font look identical to the original?

Yes — the conversion repackages your font's existing glyph and metric tables losslessly; no outlines are re-rendered or altered.

Does this work with variable fonts?

Variable TTF/OTF files convert the same way — all variation axes and instances are preserved in the table data.

Why is WOFF2 conversion sometimes unavailable?

WOFF2 needs Brotli compression. Foonts uses your browser's native support when it's available, and otherwise quietly loads a small WebAssembly Brotli encoder — so it works almost everywhere. The one case it can't cover is converting with no internet connection at all, since that fallback module has to be fetched once. WOFF conversion never needs this and always works fully offline.

Recommended font bundles

Affiliate picks

Aa

Sans Pro Collection

A versatile grotesque family with nine weights and matching italics — built for interfaces, editorial layouts, and everything between.

$49 one-time
View bundle
Aa

Editorial Serif Set

A refined text serif with optical sizes for print and screen, paired with a display companion for headlines.

$59 one-time
View bundle
Aa

Variable Type System

A single variable font file covering weight, width, and optical size — as light as one file, as flexible as a full family.

$39 one-time
View bundle
Advertisement — 728×90 footer banner placeholder