Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is The Good Line-Height?
The Good Line-Height is a browser-based typography tool that calculates a suitable line height for a given font size and grid row height, so text sits cleanly on a baseline grid. You enter three inputs shown on the page — font size, a line-height ratio, and grid row height — and it returns the recommended line height (the demo shows a value of 48 against 32px inputs). The page also offers a light/dark toggle, a grid overlay, a typeface switcher (Playfair Display is the default sample), and links to a Figma plugin.
Who it's for and when it helps
- Web and product designers building on an 8px or other fixed grid who need body text and headings to align across columns.
- Design-system maintainers who want a repeatable rule instead of eyeballing line heights for each type scale step.
- Figma users who want the same calculation inside their design file rather than a separate tab.
A concrete case: you're setting 16px body text on a 32px row grid. Rather than guessing 1.5, you feed the numbers in and check whether the result lands on the grid; if it doesn't, you adjust the ratio or row height and compare. The grid overlay makes the trade-off visible — a taller line height improves readability but may push text off your baseline.
Trade-offs to weigh
The tool optimizes for grid alignment, which is not the same as optimal readability. Long-form reading text often benefits from looser leading than a strict grid allows, and display type usually needs tighter leading than body copy. Treat the output as a starting point and test it with real content at real widths.
Next step: open The Good Line-Height, run your current font size and grid values through it, and compare the result with what's in your stylesheet. If you work in Figma, the linked plugin saves re-entering the same numbers by hand.
How do I calculate the right line height for a given font size and grid?
Start with the grid, not the font. Pick the row height your layout already uses (often 4px or 8px), then choose a line-height that is a whole multiple of that row. The line-height in pixels is what must land on the grid; the ratio is just a by-product of font size ÷ line-height.
A practical sequence:
- Fix the grid row (for example 8px) and the font size you want to use.
- Estimate a comfortable line-height range: roughly 1.4–1.6 for body text, tighter (1.1–1.3) for large headings, looser for small or long-measure text.
- Multiply font size by that ratio to get a target in pixels.
- Round the target to the nearest multiple of the row height.
- Convert back to a ratio: line-height ÷ font size. Use that ratio in CSS so the value scales, or use the pixel value if you need exact grid alignment.
A worked example with an 8px row and 16px body text: a 1.5 ratio gives 24px, which is already 3 rows — no adjustment needed. At 18px, 1.5 gives 27px; the nearest grid values are 24px (ratio 1.33, a bit tight) and 32px (ratio 1.78, a bit airy). For body copy, 32px is usually the safer choice; for a compact UI label, 24px may be fine.
| Situation | Tend toward | Trade-off |
|---|---|---|
| Long paragraphs | Looser line-height | More vertical space, fewer lines per screen |
| Large display headings | Tighter line-height | Compact, but multi-line headings can feel cramped |
| Dense UI, tables, captions | Grid-snapped, slightly tighter | Consistent rhythm, risk of cramped small text |
| Mixed sizes in one layout | Ratios that all resolve to grid multiples | Requires rounding; some sizes fit the grid better than others |
The main trade-off is rhythm versus comfort: forcing every size onto the grid can push some text outside its ideal range, so decide which sizes matter most and let minor labels be the exception.
The Good Line-Height is built around exactly this calculation: you enter a font size, a line-height ratio and a grid row height, and it reports the resulting line-height, with a grid toggle and a sample text preview so you can judge the fit visually. Use it as a quick check after you have picked your grid and font size; treat its output as a starting point and confirm readability in your actual layout.
What does the Figma plugin do and how do I install it?
The Good Line-Height is a line-height calculator for designers working with type scales and grids. Its page describes a tool that "simplify type scales by automatically calculating the perfect line height for any text & grid combination," and it presents that as a Figma plugin alongside a browser-based playground. In practice, you pick a font, set a font size, adjust a line-height ratio, and set a grid row height; the tool then returns a line-height value (the page shows a result such as "The good line~height is: 48") and renders sample text so you can judge the spacing. The page's controls—font selection (Playfair Display appears as an example), a grid toggle, and the three numeric inputs—suggest the intended workflow: tune typography against a baseline grid rather than eyeballing ratios.
Who it suits
- Designers building a type scale who want line heights that land on grid rows.
- Teams producing Figma design systems where text styles must align to a consistent vertical rhythm.
- Anyone checking whether a chosen ratio (for example, a common 1.2–1.5 range) fits a specific row height before committing to a style.
Installation
The page identifies the product as a Figma plugin and links to it, but the supplied page information does not include step-by-step install instructions. The standard Figma route applies: open the plugin's listing on Figma Community, choose "Run" or "Open in…", and it will appear under your plugins in the Figma editor; for repeated use, save it to your team library or add it to a toolbar. For exact steps, follow the plugin link on The Good Line-Height.
Practical next step
Before installing, try the on-page calculator with your own values: enter your body font size and the grid row height from your layout, then compare the returned line height against your current CSS or Figma text style. If the result differs meaningfully, that gap is your first candidate for correction—start with body text, where misalignment is most visible.
How do I set up a type scale that aligns with my grid row height?
Start with the ratio, not the pixel values: choose a type scale (for example, a modular scale with a fixed ratio), then set each text size so its resulting line height becomes a multiple of your grid row height. The tool on The Good Line-Height is built around exactly this problem: you enter a font size, a line-height ratio and a grid row height, and it returns a line height that fits the grid.
A practical workflow
- Fix the grid row first. Decide your baseline unit (say 8px or 4px) and the row height your layout actually uses. Everything else is derived from it.
- Pick a modest scale ratio. Ratios around 1.125–1.25 suit dense UI text; 1.333–1.5 suit editorial headings. Smaller ratios give more steps but smaller jumps.
- Solve line height per size. For each step, try line-height ratios (1.3–1.6 for body, 1.1–1.25 for large headings) until font size × ratio lands on a multiple of the row height.
- Snap spacing to the same unit. Margins and padding between blocks should also be multiples of the row height, so text blocks and components share one rhythm.
- Check the extremes. Small captions and very large display text often need different ratios; don't force one ratio across the whole scale.
Example
With an 8px grid and a 16px body size, a 1.5 ratio gives 24px (three rows). A 32px heading at 1.25 gives 40px (five rows). If a step refuses to align, adjust the font size by a pixel or two rather than breaking the grid.
Trade-offs to weigh
| Approach | Strength | Weakness |
|---|---|---|
| One ratio for all sizes | Simple to maintain | Poor fit at small and display sizes |
| Per-size ratios snapped to grid | Clean vertical rhythm | More values to document |
| Grid-aligned line heights only, free font sizes | Keeps layout intact | Scale steps may look uneven |
The main cost of strict alignment is that your type scale becomes slightly irregular; the benefit is that text blocks, cards and sections stack without half-pixel drift. If your design system already uses a spacing scale, align line heights to that same scale so type and layout share one unit.
What font sizes and line-height ratios work best for body text versus headings?
Body text and headings need different proportions. Body copy usually wants a line-height around 1.4–1.6 of the font size, while large headings can sit tighter, around 1.1–1.3, because their letterforms create more internal space. The exact numbers depend on font size, measure and grid.
Practical starting points
| Text role | Typical font size | Line-height ratio | Why |
|---|---|---|---|
| Body text | 16–20px | 1.4–1.6 | Long passages need clear separation between lines |
| Secondary/UI text | 13–15px | 1.4–1.5 | Small text benefits from a little extra breathing room |
| Headings (H1–H2) | 32px+ | 1.1–1.25 | Large type stays readable with tighter leading |
| Small headings/labels | 16–24px | 1.2–1.35 | A middle ground between body and display type |
These are conventions, not rules. A typeface with a large x-height or long ascenders and descenders may need slightly more; a condensed face may tolerate less.
Why the ratio changes with size
Line height is often set as a multiple of font size, so a 16px body at 1.5 gives 24px, while a 48px heading at 1.2 gives 57.6px. That works because leading needs to scale with the visual mass of the text, not stay constant in pixels. A common mistake is applying the body ratio to headings, which makes them feel loose and disconnected.
Matching line height to a grid
If your layout uses a baseline or row grid, line height should align to it. The Good Line-Height is built around exactly this: its page shows controls for font size, line-height ratio and grid row height, and it reports a calculated line height (the example shows values around 32–48). That is useful when a heading's default leading lands between grid rows and breaks vertical rhythm. The Good Line-Height
A practical workflow: choose a grid row height first (say 8px), then test ratios that produce line heights divisible by it. For a 16px body, 1.5 gives 24px—three 8px rows. For a 40px heading, 1.2 gives 48px—six rows. If a ratio produces an awkward number, adjust the ratio slightly rather than abandoning the grid.
Decision criteria
- Reading length: Long articles favour the upper end of the body range; short captions and UI labels can be tighter.
- Measure: Wider lines (70–80 characters) need more leading; narrow columns can use less.
- Font design: Check actual rendered paragraphs, not just the numbers, because x-height and stroke contrast change perceived density.
- Grid discipline: If vertical rhythm matters, let the grid constrain the ratio; if not, tune by eye at each size.
A useful next step is to set body text at 1.5 and headings at 1.2 as a baseline, then adjust only where a specific font or column width looks cramped or airy.
How do I use the tool's grid toggle and light/dark mode when testing layouts?
Set the grid toggle and light/dark mode as two separate checks on The Good Line-Height: the grid toggle shows whether the calculated line height snaps to your row height, while the light/dark switch shows whether the type stays readable against the page background. The page presents a working area with a sample typeface (Playfair Display), controls for font size, line-height ratio and grid row height, a grid toggle and a lights-off toggle, and a displayed result for the good line height.
A short testing routine
- Pick your real font size and grid row height first, then read the calculated line height before touching either toggle. That baseline is what you are testing against.
- Turn the grid on and scan for text that crosses row lines or lands unevenly between them. If headings and body copy sit on different rhythms, adjust the row height rather than nudging the line-height ratio.
- Switch to the dark view and check contrast at the smallest size you plan to ship, plus any light-weight text. Thin strokes often look fine on white and thin out on dark.
- Return to the light view and confirm the same text blocks still line up with the grid. A toggle that changes apparent alignment usually signals a spacing value that is not tied to the grid.
- Note the final numbers and carry them into your stylesheet as a single scale, so later edits do not drift.
When each control earns its place
| Control | Best for | Watch out for |
|---|---|---|
| Grid toggle | Checking that line height and row height agree across headings, body and captions | A grid that fits one size may break at your largest heading |
| Light/dark mode | Verifying contrast and weight at small sizes and for long passages | A pairing that reads well in one mode can fail in the other |
The grid check matters most when your layout uses fixed row heights, such as card grids or dashboards, because a line height that ignores the row produces uneven gaps. The mode check matters most for editorial pages with long reading passages, where fatigue shows up over paragraphs rather than single lines.
As a next step, test one real component rather than dummy text: drop in a paragraph and a heading from your own site, toggle the grid, then toggle the lights, and record the font size, ratio and row height that survive both views.
User reviews (0)