font-weight
Die Strichstärke von Zeichen, in der Regel von 100 (Dünn) bis 900 (Schwarz). Regular entspricht 400, Bold 700.
Font weight describes the thickness of the strokes that make up a typeface's characters. In CSS, font-weight is expressed on a numeric scale from 100 to 900, in increments of 100, where 100 is the thinnest (hairline or thin) and 900 is the heaviest (black or ultra-heavy). The traditional named weights — light, regular, medium, bold — map to specific points on this scale.
The numeric scale is not arbitrary. It was standardized to provide a consistent vocabulary across typefaces with different naming conventions. A typeface designer might label their weights "Book", "Demi", "Heavy", and "Display" — the numeric system creates a universal mapping so CSS can find the closest available weight regardless of naming.
/* The standard weight scale */
.thin { font-weight: 100; } /* Hairline, Thin */
.extralight{ font-weight: 200; } /* ExtraLight, Ultra Light */
.light { font-weight: 300; } /* Light */
.regular { font-weight: 400; } /* Regular, Normal, Book */
.medium { font-weight: 500; } /* Medium */
.semibold { font-weight: 600; } /* SemiBold, DemiBold */
.bold { font-weight: 700; } /* Bold */
.extrabold { font-weight: 800; } /* ExtraBold, Ultra Bold */
.black { font-weight: 900; } /* Black, Heavy */
/* CSS also accepts keyword values */
.bold-keyword {
font-weight: bold; /* Equivalent to 700 */
}
.normal-keyword {
font-weight: normal; /* Equivalent to 400 */
}
/* Relative keywords */
.bolder {
font-weight: bolder; /* One step heavier than parent */
}
/* Loading specific weights from Google Fonts */
/* Only request what you'll actually use — each weight adds ~20-30KB */
/* In HTML for Inter with three weights: */
/* <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap" rel="stylesheet"> */
/* Optical sizing consideration */
.headline {
font-weight: 700;
/* Bold at large sizes often needs tracking adjustment */
letter-spacing: -0.02em;
}
.body-text {
font-weight: 400;
/* Regular weight needs no tracking intervention at body sizes */
}
When the browser can't find the exact requested weight, it performs weight matching — finding the closest available weight using a defined algorithm. Requesting font-weight: 500 from a font that only has 400 and 700 will give you 400 (the browser first looks lighter before going heavier for weights at or below 500). Understanding this prevents unexpected visual results.
Variable fonts (increasingly common on Google Fonts for typefaces like Inter, Nunito, and Source Sans 3) change the picture entirely — a single variable font file contains the full weight range, so any value from 100 to 900 is available without multiple requests. When using variable fonts, you can use any weight value, not just the traditional increments of 100.
Related Terms
Related Tools
Fonts That Illustrate This Concept
Learn More
Typeface is the design family, font is a specific instance. This distinction matters for licensing, CSS, and communicating with designers.
Typography FundamentalsTypographic color isn't about literal color — it's the visual density of text on a page. Learn how to achieve that perfectly even, comfortable texture.
AccessibilityDark mode typography needs different treatment — lighter weights, adjusted contrast, and careful color choices to maintain readability.
Design SystemsDesign tokens bridge design and development — font family, size, weight, line-height, and spacing as structured, platform-agnostic values.