Font Converter

Font Weight Calculator

Find the optimal font weight for your design context

Smart RecommendationsContext-BasedCSS Export

Select Context

Recommended

400
Regular
Normal weight

Select Weight

Selected Weight
400 - Regular
Best For
Body text, general use

Preview

The quick brown fox jumps over the lazy dog.

Why this weight?

400 (Regular) provides optimal readability for extended reading. Lighter weights may be hard to read, while heavier weights can cause visual fatigue.

CSS Output

.body {
  font-weight: 400; /* Regular */
}

Weight Comparison

100
The quick brown fox
200
The quick brown fox
300
The quick brown fox
400
The quick brown fox
500
The quick brown fox
600
The quick brown fox
700
The quick brown fox
800
The quick brown fox
900
The quick brown fox

Developer & Verifier

Marcus Rodriguez

Developed by

Marcus Rodriguez

Lead Developer

Sarah Mitchell

Verified by

Sarah Mitchell

Product Designer, Font Specialist

What is Font Weight Calculation?

Font weight calculation maps CSS numeric values (100–900) to named weight classifications and determines the optimal weight distribution for a type system across headings, body text, and UI elements. CSS font-weight uses a numeric scale from 100 (Thin) to 900 (Black), with 400 as Normal and 700 as Bold.

Variable fonts support continuous weight values between any two masters — a single file interpolates every weight from 100 to 900. Approximately 40% of websites use at least one variable font (HTTP Archive 2025), up from near-zero adoption 5 years ago. Variable font performance improves when using 4 or more weight variations from a single file instead of separate static font files.

Static fonts require separate files per weight: a family with Regular, Medium, SemiBold, Bold, and Black needs 5 font files versus 1 variable font file. Each additional static file adds an HTTP request and increases total download size — the median WOFF2 Latin font measures 12–19 KB (phpied.com analysis of 1,074 Google Fonts), meaning 5 static weights total 60–95 KB versus a single variable font file.

Select from 6 usage contexts — body text, headings, buttons and CTAs, captions, navigation, or display — and the calculator recommends the optimal weight with an explanation of why. Adjust the font size from 12–72px and see a live preview of the selected weight alongside a comparison strip showing all 9 CSS weight values (100 Thin through 900 Black) rendered at your chosen size. The tool generates ready-to-use CSS with your weight and size values.

How to Use This Calculator

1

Select a Weight

Choose a numeric value (100-900) or named weight (Thin, Light, Normal, Bold, Black) from the list.

2

Preview the Result

See live preview of the selected weight with sample text showing thickness and appearance.

3

Copy CSS Code

Click to copy the CSS font-weight declaration with both numeric and named values if applicable.

4

Explore Variable Range

Test custom weight values between standard increments to preview variable font capabilities.

Features

Numeric to Named Weight Mapping
Variable Font Weight Range
Weight Preview
CSS Code Output
Browser Support Info
Weight Comparison
Common Weight Presets

CSS Font Weight Scale

Numeric ValueNamed WeightCSS KeywordCommon Usage
100Thin-Decorative text
200Extra LightlighterSubtle accents
300Light-Large body text
400NormalnormalBody text (default)
500Medium-Emphasized text
600Semi Bold-Subheadings
700BoldboldHeadings
800Extra BoldbolderStrong emphasis
900Black-Display text

Frequently Asked Questions

What do the numeric font-weight values mean?
CSS font-weight uses a 100-900 numeric scale: 100=Thin, 200=Extra Light, 300=Light, 400=Normal/Regular, 500=Medium, 600=Semi Bold, 700=Bold, 800=Extra Bold, 900=Black. These map to named weights in font files.
What is the difference between bold and 700?
They are identical. CSS font-weight: bold is an alias for font-weight: 700, just as normal is an alias for 400. Using numeric values gives you finer control, especially with variable fonts.
What happens if the requested weight is not available?
The browser uses a fallback algorithm: for weights 400-500, it tries nearby values then goes lighter then bolder. For weights below 400, it goes lighter first. For weights above 500, it goes bolder first.
How do variable fonts handle weight?
Variable fonts have a continuous weight axis (wght) that supports any value within its range, not just the 9 fixed steps. You can set font-weight: 350 or font-variation-settings: "wght" 350 for precise control.
What is the best font-weight for body text?
Font-weight 400 (normal/regular) is standard for body text. Some designers prefer 300 (light) for large body text or 500 (medium) for better readability on low-contrast screens.
How do I set a custom weight in CSS?
Use the font-weight property with a numeric value: font-weight: 600. For variable fonts, you can also use font-variation-settings: "wght" 600 for the same result with more precision.

Related Tools & Guides