Cyrillic is not an accent on Latin. It is a separate alphabet with its own conventions, and a typeface that treats it as an afterthought produces text that a reader notices immediately without necessarily being able to say why.
What "supports Cyrillic" should mean
At minimum, the 66 letters of the modern Russian alphabet in both cases. Properly, that plus the letters other languages need — Ukrainian ї, і, є and ґ, Serbian ђ and ћ, Bulgarian’s different italic forms, and the extended set for the Central Asian languages. A font can cover Russian completely and still be unusable for Ukrainian.
The second requirement is that the Cyrillic was drawn rather than derived. The letters have different proportions from Latin: more of them are the same width, the lowercase is closer to the capitals in shape, and several letters have no Latin equivalent to borrow from. A face where ж, ф and щ look assembled from Latin parts is the tell.
The italic problem
Cyrillic italics are not slanted romans — several lowercase letters change shape entirely, the way a Latin a becomes a single-storey form in an italic. A font that simply slants its Cyrillic is producing something that reads as wrong to a native reader even at a glance. This is the most common failure in fonts with retrofitted Cyrillic.
How this site answers it
The alphabets listed on every font page here are read out of the font file’s own character map when the archive is built, not copied from a description. There is a Cyrillic page listing every family that carries it, and a separate Cyrillic Extended page for the wider set — the distinction matters, because that is where Ukrainian and the Central Asian languages live.
Inter, Roboto and IBM Plex Sans all carry thorough Cyrillic drawn as part of the design. PT Sans and PT Serif are worth singling out: they were commissioned specifically for the languages of the Russian Federation, so the Cyrillic is the point rather than an extension.
| Family | Variable download | Static download |
|---|---|---|
| Inter | 957 KB2 files | 9.1 MB54 files |
| Roboto | 597 KB2 files | 5.2 MB54 files |
| IBM Plex Sans | 637 KB2 files | 4.8 MB42 files |
| PT Sans | None published | 883 KB4 files |
| PT Serif | None published | 699 KB4 files |
Checking a font yourself
Set a sentence rather than the alphabet, and include the letters that are hardest to draw: Съешь ещё этих мягких французских булок is the standard pangram and covers most of them. Then look at ж, ф, щ and ю at the size you will actually use, and if the font has an italic, set the same line in it.
The character map on every font page shows exactly which characters the file contains, so the coverage question can be answered by looking rather than by trusting a label.
One practical note about file size
Cyrillic roughly doubles a font. If your site is in English and you are serving a face that carries it, every visitor is downloading an alphabet they will never see — which is what the Latin-only download on each font page is for. If you are setting Cyrillic, take the complete file. See the subsetting post.