How to use the multilingual font fallback stack builder
A screen that mixes Korean, Japanese and Latin cannot be covered by one font, so you end up with a fallback order. Get the order wrong and Latin substitute glyphs land in Korean text, or large files download that nothing uses. This tool takes the font list you intend to use and builds the font-family order plus the @font-face rules split by unicode-range.
Enter one font per line, optionally with a range in the form "Font Name | U+range". Only lines with a range are split into @font-face rules; lines without one appear in the fallback order alone. Names with spaces, a leading digit or non-ASCII characters are quoted for you, and the generic family goes last without quotes. Written as of October 2026.
No recommended stack is offered. Installed fonts differ by OS, language and device, so no single answer holds. The tool also never reads your font files, so it cannot confirm which characters they actually cover, and the url paths are placeholders you have to replace with your real files. Verify that each file really carries the range you assigned it.
Frequently Asked Questions
No. Which font is installed for which OS and language differs per machine, so there is no list that is correct everywhere. Type the fonts you intend to use and it builds the order and the split syntax.
A single word that starts with a letter or underscore and contains only letters, digits, hyphens and underscores can go unquoted. Names with spaces, a leading digit or non-ASCII characters need quotes, and the table marks this per line.
Under one family name you can attach a different file per character range, so a file downloads only when a glyph from its range is actually used. Lines without a range are not split and appear in the fallback order alone.