FONT SIZE CALCULATOR

Convert a font size between px, rem, em, pt, and %, with a live size preview.

Aa — preview at this size

How to convert a font size

  1. 1

    Enter a font size and pick its starting unit (px, rem, em, pt, or %).

  2. 2

    Set the root (html) font-size if it isn't the default 16px.

  3. 3

    Set the parent element's font-size if you're converting em or %.

  4. 4

    Read the converted value in every other unit, and click any card to copy it.

  5. 5

    Check the live preview to see how that size actually renders.

Questions

Why does rem depend on the root size but em depends on the parent?
rem always means "relative to the root (<html>) element's font-size", so changing a parent's size never affects it — that predictability is why rem is the common choice for consistent type scales. em means "relative to this element's own computed font-size" (which is inherited from its parent unless overridden), so em values compound as they nest inside other em-sized elements.
What's the difference between px and pt?
px (pixels) is the standard unit for screen design. pt (points) comes from print, where 1pt = 1/72 inch; browsers convert it using a fixed 96 CSS-pixels-per-inch reference, so 1pt = 96/72 ≈ 1.333px. pt is rarely used in CSS for screens, but this converter includes it for print stylesheets or design-tool handoffs.
Why does this tool recommend rem over px for font-size?
px font sizes ignore a user's browser-level "default font size" accessibility setting, so someone who has increased their default text size for readability sees no change on px-sized text. rem sizes scale with that setting because they're relative to the root font-size, which most browsers do respect when a user changes their default.
Is this the same as the CSS Clamp Generator?
No — the Clamp Generator builds a single fluid clamp() value that scales continuously between a min and max size as the viewport changes. This tool is a static unit converter: it tells you what a fixed size equals in px, rem, em, pt, and % given a root and parent size, without any viewport-based scaling.
Does this tool save my root or parent size settings?
No — all values are calculated live in your browser from what you type. Nothing is uploaded or stored; reloading the page resets it to the 16px defaults.