X-Height: Same Font Size, Different Letter Sizes, Measured
Codes & Letters
- Published
- Last substantive revision
The lowercase x of 13 open fonts, drawn from the font files at one font size. Five stop below half the font size; eight reach above it.
At 16 pixels, a lowercase x is 6.5 pixels tall in EB Garamond and 8.8 in JetBrains Mono. The font size is the same; the letters are not, because font size does not measure letters. It scales the em, the grid each font is drawn on, and the W3C's CSS Fonts Level 4 draft sets no requirement on how closely a letter must fit that grid.
The x-height is the height of lowercase letters with flat tops, such as x, measured up from the baseline. Taken from the font files, it runs across the 13 open fonts on this page from 40.5% of the font size in EB Garamond 1.003 to 55.0% in JetBrains Mono 2.211. The pixel figures here are the font size times each font's own proportions, before any rounding a screen applies.
Why does the same font size look bigger in some fonts?
Every outline in a font is drawn on a grid of font units: 1,000 to the em in nine of the fonts measured here, 2,000 or 2,048 in the other four. CSS Fonts Module Level 4, a W3C Working Draft dated 7 September 2026, defines font size for scalable fonts as a scale factor applied to that em. The same section notes that nothing requires a glyph to fit its em box closely, and that fonts can look different in size at the same font size.
How much of the em the lowercase letters take up is part of each design. The lines involved, from the baseline to the cap height, are named on Anatomy of a Letter; this page measures them across fonts.
EB Garamond and JetBrains Mono at the same font size, with 1 em as a scale bar. The x reaches 405 of 1,000 units in one font and 550 in the other.
Both fonts divide the em into 1,000 units, and EB Garamond's x reaches 405 of them, its capital H 653; JetBrains Mono's x reaches 550 and its H 730. At any shared font size, the JetBrains Mono x is 35.8% taller, by this page's measurement.
How is x-height measured?
A font file gives its x-height in two ways, and the first is a number stored in the font's OS/2 table, called sxHeight. The OpenType specification describes it as roughly the height of lowercase letters that have no ascenders, given in font units and normally chosen by the type designer; failing that, it may be set to the top of the outline of x.
The second is the drawing itself: the top of the x outline, read from the font file by a program. This page records both, and checks the x against v, another flat-topped letter; the two tops match in all 13 fonts.
A round o sits higher in every one of them: in Overpass, the o reaches 1,046 units against 1,022 for the x. The US Manual on Uniform Traffic Control Devices (MUTCD) describes the same habit in sign lettering, where rounded lowercase letters extend slightly past a flat letter such as x so that a word looks evenly tall. This site files corrections of that kind under the eye's thumb on the scale.
At weight 400 the two answers agree in 12 of the 13 fonts. The exception is EB Garamond, whose table says 400 while its x reaches 405.
Variable fonts can pull the two apart. Source Serif 4 4.004 has an optical-size axis, and at weight 400 its x stands 508 units tall at optical size 8, 475 at the default of 20 and 452 at 60, while its OS/2 table gives 475 throughout. Under the OpenType specification, a stored metric like this stays fixed across a variable font unless a metrics-variations (MVAR) table adjusts it, and this font has no such table.
Source Serif 4 at weight 400 and three optical sizes. The drawn x stands 508, 475 and 452 units tall; the font's OS/2 table gives 475 for all three.
The ruler
Each row is one font at weight 400, scaled to the same font size. Variable fonts were set to their default width and optical size, opsz 14 for Inter and opsz 20 for Source Serif 4, and their OS/2 values are those of that setting, after the font's own metric variations are applied.
Thirteen fonts at weight 400 on one scale. Each line runs from the bottom of p to the top of d; the red bar is the x-height, the blue tick the cap height.
| Font | Version | Units per em | x-height, font units | x-height, % of font size | x-height ÷ cap height |
|---|---|---|---|---|---|
| EB Garamond | 1.003 | 1,000 | 405 (OS/2: 400) | 40.5% | 0.620 |
| Spectral | 2.005 | 1,000 | 450 | 45.0% | 0.682 |
| Source Serif 4 | 4.004 (opsz 20) | 1,000 | 475 | 47.5% | 0.709 |
| Source Code Pro | 1.026 | 1,000 | 486 | 48.6% | 0.741 |
| Source Sans 3 | 3.052 | 1,000 | 486 | 48.6% | 0.741 |
| Lato | 2.015 | 2,000 | 1,013 | 50.7% | 0.707 |
| Overpass | 4.000 | 2,000 | 1,022 | 51.1% | 0.730 |
| IBM Plex Mono | 2.003 | 1,000 | 516 | 51.6% | 0.739 |
| Open Sans | 3.003 | 2,048 | 1,096 | 53.5% | 0.750 |
| Noto Sans | 2.015 | 1,000 | 536 | 53.6% | 0.751 |
| Noto Serif | 2.015 | 1,000 | 536 | 53.6% | 0.751 |
| Inter | 4.001 (opsz 14) | 2,048 | 1,118 | 54.6% | 0.750 |
| JetBrains Mono | 2.211 | 1,000 | 550 | 55.0% | 0.753 |
To read the table:
- x-height is the top of the drawn x. Where the OS/2 value differs, it follows in brackets.
- Cap height is the top of the drawn H. In EB Garamond, Source Sans 3 and Source Code Pro the OS/2 cap height differs from the outline by 3 or 4 units; both values are in the CSV file.
- Pixels: multiply the percentage by the font size. EB Garamond at 16 px: 16 × 0.405 = 6.48 px.
Of the fonts measured here, JetBrains Mono 2.211 has the largest x-height, 55.0% of the font size, followed by Inter 4.001 at 54.6%; EB Garamond 1.003 has the smallest, at 40.5%. The ranking holds only for these fonts, versions and settings.
The last column compares lowercase with capitals. On US road signs a general rule fixes that ratio: the MUTCD sets the loop height of mixed-case lowercase lettering at three-quarters of the capital height, as Road Signs explains. Five of the 13 fonts have a ratio within 0.005 of 0.75: Open Sans, Noto Sans, Noto Serif, Inter and JetBrains Mono.

Place names in capitals and lowercase on a guide sign in Hydesville, California, photographed in 2013. The MUTCD sets the loop height of such lowercase letters at three-quarters of the capital height.
Three questions the table answers:
- Which two pairs of fonts share an x-height exactly?
- How tall is a Lato x at 16 px?
- Whose x-height comes closest to half the font size?
Answers
- Noto Sans and Noto Serif, at 536 units each, and Source Sans 3 and Source Code Pro, at 486.
- 16 × 1,013 ÷ 2,000 = 8.104, or about 8.1 px.
- Lato, whose x-height measures 50.7% of the font size.
How much bigger must one font be to match another?
To give two fonts the same x-height, scale one by the ratio of their x-heights. Spectral's x is 45.0% of its font size and Noto Sans's is 53.6%, so Spectral needs 16 × 536 ÷ 450 = 19.06 px to match the x-height of Noto Sans at 16 px, an increase of 19.1%.
The font size at which each font's x matches the x of Noto Sans set at 16 px, computed from the measured x-heights.
The pairs file in the downloads repeats this calculation for all 156 ordered pairs of the 13 fonts. Because font size scales the whole em, a 19.1% increase also makes Spectral's capitals and letter widths 19.1% larger. On spacing, this site's position is that it matters more than the letters themselves; Kerning looks at the adjustments a font file stores for pairs of letters.
CSS can make this adjustment itself. CSS Fonts Module Level 5, a W3C Working Draft dated 13 September 2026, defines a property called font-size-adjust whose default metric is the x-height divided by the font size, and says of it: "It does this by adjusting the used font size so that the specified metric is the same regardless of the font used."
Whether a taller x-height changes how easily text is read is a question for reading studies, taken up on Serif vs Sans Serif.
Sources
- 1
EB Garamond, Version 1.003 (variable font EBGaramond[wght].ttf, measured at wght 400), by the EB Garamond Project Authors, google/fonts repository, directory ofl/ebgaramond at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/ebgaramond (font file and license file)
- 2
Spectral, Version 2.005 (static font Spectral-Regular.ttf), by the Spectral Project Authors, google/fonts repository, directory ofl/spectral at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/spectral (font file and license file)
- 3
Source Serif 4, Version 4.004 (variable font SourceSerif4[opsz,wght].ttf, measured at wght 400 and opsz 20, plus opsz 8 and 60), by the Source Serif 4 Project Authors, google/fonts repository, directory ofl/sourceserif4 at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/sourceserif4 (font file and license file)
- 4
Source Code Pro, Version 1.026 (variable font SourceCodePro[wght].ttf, measured at wght 400), by Adobe, google/fonts repository, directory ofl/sourcecodepro at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/sourcecodepro (font file and license file)
- 5
Source Sans 3, Version 3.052 (variable font SourceSans3[wght].ttf, measured at wght 400), by Adobe, google/fonts repository, directory ofl/sourcesans3 at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/sourcesans3 (font file and license file)
- 6
Lato, Version 2.015 (static font Lato-Regular.ttf), by tyPoland Lukasz Dziedzic, google/fonts repository, directory ofl/lato at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/lato (font file and license file)
- 7
Overpass, Version 4.000 (variable font Overpass[wght].ttf, measured at wght 400), by the Overpass Project Authors, google/fonts repository, directory ofl/overpass at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/overpass (font file and license file)
- 8
IBM Plex Mono, Version 2.003 (static font IBMPlexMono-Regular.ttf), by IBM Corp., google/fonts repository, directory ofl/ibmplexmono at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/ibmplexmono (font file and license file)
- 9
Open Sans, Version 3.003 (variable font OpenSans[wdth,wght].ttf, measured at wght 400 and wdth 100), by the Open Sans Project Authors, google/fonts repository, directory ofl/opensans at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/opensans (font file and license file)
- 10
Noto Sans, Version 2.015 (variable font NotoSans[wdth,wght].ttf, measured at wght 400 and wdth 100), by the Noto Project Authors, google/fonts repository, directory ofl/notosans at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/notosans (font file and license file)
- 11
Noto Serif, Version 2.015 (variable font NotoSerif[wdth,wght].ttf, measured at wght 400 and wdth 100), by the Noto Project Authors, google/fonts repository, directory ofl/notoserif at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/notoserif (font file and license file)
- 12
Inter, Version 4.001 (variable font Inter[opsz,wght].ttf, measured at wght 400 and opsz 14), by the Inter Project Authors, google/fonts repository, directory ofl/inter at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/inter (font file and license file)
- 13
JetBrains Mono, Version 2.211 (variable font JetBrainsMono[wght].ttf, measured at wght 400), by the JetBrains Mono Project Authors, google/fonts repository, directory ofl/jetbrainsmono at commit 94301472b4d8, with license file OFL.txt (SIL Open Font License, Version 1.1).
https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/jetbrainsmono (font file and license file)
- 14
Chris Lilley, ed. CSS Fonts Module Level 4. W3C Working Draft, 7 September 2026, section 2.5, "Font size: the font-size property." Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license (https://www.w3.org/copyright/software-license/) rules apply.
https://www.w3.org/TR/2026/WD-css-fonts-4-20260907/#font-size-prop (section 2.5)
- 15
Microsoft Typography. OpenType specification, "OS/2 — OS/2 and Windows Metrics Table" (OpenType 1.9.1). Microsoft Learn, last updated 2024-05-31.
https://learn.microsoft.com/en-us/typography/opentype/spec/os2 (sections sxHeight and sCapHeight, and OS/2 Table and OpenType Font Variations)
- 16
Microsoft Typography. OpenType specification, "MVAR — Metrics Variations Table" (OpenType 1.9.1). Microsoft Learn, last updated 2022-10-20.
https://learn.microsoft.com/en-us/typography/opentype/spec/mvar (Processing section and value tags)
- 17
Chris Lilley, ed. CSS Fonts Module Level 5. W3C Working Draft, 13 September 2026, section 3.4, "Relative sizing: the font-size-adjust property." Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license (https://www.w3.org/copyright/software-license/) rules apply.
https://www.w3.org/TR/2026/WD-css-fonts-5-20260913/#font-size-adjust-prop (section 3.4)
- 18
Federal Highway Administration. Manual on Uniform Traffic Control Devices for Streets and Highways, 11th Edition with Revision 1 (December 2025), Section 2A.08, "Word Messages," paragraphs 05 and 19.
https://mutcd.fhwa.dot.gov/pdfs/11th_Editionr1/mutcd11theditionr1hl.pdf (Section 2A.08)
Download the data: x-height measurements, 13 fonts (CSV) (Data: EB Garamond Version 1.003, Copyright 2017 The EB Garamond Project Authors (https://github.com/octaviopardo/EBGaramond12), SIL Open Font License 1.1, retrieved 2026-10-16; Spectral Version 2.005, Copyright 2017 The Spectral Project Authors (https://github.com/productiontype/Spectral), SIL Open Font License 1.1, retrieved 2026-10-16; Source Serif 4 Version 4.004, Copyright 2014 The Source Serif 4 Project Authors (https://github.com/adobe-fonts/source-serif), SIL Open Font License 1.1, retrieved 2026-10-16; Source Code Pro Version 1.026, Copyright 2010, 2012 Adobe Systems Incorporated (https://github.com/adobe-fonts/source-code-pro), SIL Open Font License 1.1, retrieved 2026-10-16; Source Sans 3 Version 3.052, Copyright 2010-2020 Adobe (https://github.com/adobe-fonts/source-sans), SIL Open Font License 1.1, retrieved 2026-10-16; Lato Version 2.015, Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/lato), SIL Open Font License 1.1, retrieved 2026-10-16; Overpass Version 4.000, Copyright 2021 The Overpass Project Authors (https://github.com/RedHatOfficial/Overpass), SIL Open Font License 1.1, retrieved 2026-10-16; IBM Plex Mono Version 2.003, Copyright 2017 IBM Corp. (https://github.com/IBM/plex), SIL Open Font License 1.1, retrieved 2026-10-16; Open Sans Version 3.003, Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans), SIL Open Font License 1.1, retrieved 2026-10-16; Noto Sans Version 2.015, Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic), SIL Open Font License 1.1, retrieved 2026-10-16; Noto Serif Version 2.015, Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic), SIL Open Font License 1.1, retrieved 2026-10-16; Inter Version 4.001, Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter), SIL Open Font License 1.1, retrieved 2026-10-16; JetBrains Mono Version 2.211, Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono), SIL Open Font License 1.1, retrieved 2026-10-16) · size conversions, 156 font pairs (CSV) (Data: EB Garamond Version 1.003, Copyright 2017 The EB Garamond Project Authors (https://github.com/octaviopardo/EBGaramond12), SIL Open Font License 1.1, retrieved 2026-10-16; Spectral Version 2.005, Copyright 2017 The Spectral Project Authors (https://github.com/productiontype/Spectral), SIL Open Font License 1.1, retrieved 2026-10-16; Source Serif 4 Version 4.004, Copyright 2014 The Source Serif 4 Project Authors (https://github.com/adobe-fonts/source-serif), SIL Open Font License 1.1, retrieved 2026-10-16; Source Code Pro Version 1.026, Copyright 2010, 2012 Adobe Systems Incorporated (https://github.com/adobe-fonts/source-code-pro), SIL Open Font License 1.1, retrieved 2026-10-16; Source Sans 3 Version 3.052, Copyright 2010-2020 Adobe (https://github.com/adobe-fonts/source-sans), SIL Open Font License 1.1, retrieved 2026-10-16; Lato Version 2.015, Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (https://github.com/google/fonts/tree/94301472b4d809299b4775bc6502592b83dd6934/ofl/lato), SIL Open Font License 1.1, retrieved 2026-10-16; Overpass Version 4.000, Copyright 2021 The Overpass Project Authors (https://github.com/RedHatOfficial/Overpass), SIL Open Font License 1.1, retrieved 2026-10-16; IBM Plex Mono Version 2.003, Copyright 2017 IBM Corp. (https://github.com/IBM/plex), SIL Open Font License 1.1, retrieved 2026-10-16; Open Sans Version 3.003, Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans), SIL Open Font License 1.1, retrieved 2026-10-16; Noto Sans Version 2.015, Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic), SIL Open Font License 1.1, retrieved 2026-10-16; Noto Serif Version 2.015, Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic), SIL Open Font License 1.1, retrieved 2026-10-16; Inter Version 4.001, Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter), SIL Open Font License 1.1, retrieved 2026-10-16; JetBrains Mono Version 2.211, Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono), SIL Open Font License 1.1, retrieved 2026-10-16)
Corrections
No corrections yet. Report an error through the corrections address in the page footer; every change is logged here as YYYY-MM-DD — what changed and why.
Decode next:
- Serif vs Sans Serif: what named reading tests found when serif and sans serif type were compared, and where x-height enters the comparison.
- Anatomy of a Letter: the baseline, cap height and the other parts of a letter, named and measured, and why the O is drawn taller than the H.
Cite this page
Codes & Letters. “X-Height: Same Font Size, Different Letter Sizes, Measured.” Codes & Letters. Published 2026-10-16. Last substantive revision 2026-10-16. https://codesandletters.com/letterforms/x-height/. Accessed [the date you read it].