Updated 3 November, 2023 • recent changes scripts/fontlist • leave a comment
This page provides a (not exhaustive) list of fonts, grouped by script, that are available via the Windows 11 and macOS Ventura operating systems, as well as Google's Noto fonts and SIL fonts. Note that some of the Windows and macOS fonts have to be downloaded by the user before they can be applied to text. Install Adobe NotDef font for best results.
Choose a script:
adlam • ahom • anatolian hieroglyphs • arabic • aramaic • armenian • avestan • bhaiksuki • balinese • bamum • bassa vah • batak • bengali • brahmi • buginese • buhid • canadian syllabics • carian • caucasian albanian • chakma • cham • cherokee • chinese, simplified • chinese, traditional • chorasmian • coptic • cuneiform • cypro minoan • cypriot syllabary • cyrillic • deseret • devanagari • dives akuru • dogra • egyptian hieroglyphs • elbasan • elymaic • ethiopic • georgian • glagolitic • gothic • grantha • greek • gujarati • gunjala gondi • gurmukhi • hanifi rohingya • hanunoo • hatran • hebrew • japanese • javanese • kaithi • kannada • kawi • kayah li • kharoshthi • khitan small script • khmer • khojki • khudawadi • kirat rai • korean • lao • latin • lepcha • limbu • linear a • linear b • lisu • lycian • lydian • mahajani • makassarese • malayalam • mandaic • manichaean • marchen • masaram gondi • medefaidrin • mende kikakui • meetei mayek • meroitic • miao • modi • mongolian • mro • multani • myanmar • nabataean • new tai lue • newa • n'ko • nushu • nyiakeng puachue hmong • ogham • ol chiki • old hungarian • old italic • old north arabian • old permic • old persian • old south arabian • old turkic • old uighur • oriya • osage • osmanya • pahawh hmong • pahlavi (inscriptional) • pahlavi (psalter) • palmyrene • parthian • phags-pa • phoenician • rejang • runic • samaritan • saurashtra • sharada • shavian • siddham • sinhala • sogdian • sora sompeng • soyombo • sundanese • syloti nagri • syriac • tai le • tagalog • tagbanwa • tai tham • tai viet • takri • tamil • tangsa • tangut • telugu • thaana • thai • tibetan • tifinagh • tirhuta • toto • ugaritic • vai • vithkuqi • wancho • warang citi • yezidi • yi • zanabazar square
A downwards pointing arrow next to a Mac or Windows icon indicates that the font needs to be downloaded by the user before it is available. (If you are choosing fonts for use in a CSS font-family property, you should be cautious about adding these fonts, since the reader may not have downloaded them.)
If you want to show fonts from only one source (ie. Mac, Win, Noto, or SIL), click on the relevant icon before a font name. All fonts can be restored by clicking on the button, top right.
The default text used is article 1 of the Universal Declaration of Human Rights, taken from this Unicode page, wherever I could find it. I created a few instances myself, where it was missing, and otherwise I resorted to other texts. All samples for a given script use the same text, to aid comparison, even if the font is more appropriate for a particular language. See the samples page for a list of texts.
In some cases, a square box with a cross in it is displayed (this only occurs in the text view if you have the Adobe NotDef font installed). This indicates that the font doesn't cover all the glyphs needed to represent the sample text. Most often this applies to punctuation or other common characters. In Latin text, in particular, it indicates which fonts support extended characters and which don't. In normal use in a Web browser, glyphs for such characters will be backfilled by using a glyph from some other font.
The size of text and images is set to 45px by default, but this can be altered using the control in the right column. The process of capturing Mac-based images results in a slightly heavier rendering than normal.
On Windows, many of the scripts are represented using the Sans Serif Collection font name. This applies Noto font shapes, but they are often not as up to date as fonts downloaded from the Noto site. For example, the Meroitic font on Windows doesn't include hieroglyphs.
A number of fonts were added by the macOS Sonoma operating system but are not included here until that operating system becomes more widely deployed.
Some older versions of Noto fonts cannot be removed from macOS, and may interfere with newer versions that you install. (In these cases, applying a webfont created from the newer version may help, but this cannot be done for this page because of the sheer number of fonts involved.) This only applies to a few Noto fonts.
Fonts are grouped with other similar fonts, in way that seems useful, but may not be scientific.
By default, fonts fall into one of the following two categories: 'modulated', indicates that strokes have varying widths (and usually have tapered or pointed ends), whereas 'monoline' fonts have strokes that are generally the same width (and stroke ends are usually squared off). This usually corresponds to the serif and sans-serif distinction in fonts. In some cases, the choice between these two categories is difficult to make. Note that some of the larger fonts (esp. Arial Unicode MS) render some scripts with modulated glyphs and others with monoline, all within the same font.
A number of other groupings are used, and fonts to which they apply appear in those groups, regardless of modulated/monoline characteristics. Some of these groupings will form an initial proposal for generic fallback categories in CSS.
Here is the current list of groups:
If you want to check whether a font or set of fonts supports the characters needed for a particular language, follow these steps.
Note that it is much easier to see which characters are and are not supported if you have installed the Adobe NotDef font, since this will cause the missing characters to be rendered as square boxes.
The Mac and Windows fonts used in the images are provided by the Operating System (although, as mentioned earlier, some fonts need to be downloaded using the OS font management tools). The following lists were used to identify available fonts:
You can specify what you want to see in the URL. The parameters are:
script: (required) This is a script code, or a script code plus language/region code that is used in the database. For example, script=arab, or script=arab-afr.
text: (optional) If you use this, the standard phrase will be replaced by the text you supply, and the results will be shown as text, rather than images (so you'll need to have the font on your system to see the result). For example, script=grek&text=άνθρωποι.