PX to EM Converter

Convert pixels to em units for any parent font size, with a full conversion table and rounding warnings.

px
px

Browsers default to 16px. Use 10 if your CSS sets html { font-size: 62.5% }.

Common conversions at 16 px

px em

What It Does

This tool converts pixels (px) to em in CSS. The conversion is not a fixed ratio — an em is relative to the font size of the *parent* element — so the tool asks for the size that em is measured against and shows the result for that context. It also prints a full conversion table for the common root sizes, so you can read off the values you need without converting one by one, and tells you when the result lands on a fractional pixel that a browser will round.

When to Use It

  • You are converting a design handed over in pixels (px) into a stylesheet that uses em for accessibility.
  • You inherited a codebase that mixes units and you need the em equivalent of an existing px value.
  • You want to check what a px value becomes when the user changes their browser's default font size.
  • You are writing a design-token scale and need the same step expressed in both units.

Worked Examples

24

At the default 16px parent size, 24px is 1.5em — the most common heading step.

1

1px is 0.0625em at a 16px parent. Hairline borders are the usual case where px is the better unit.

18

18px is 1.125em at 16px, but 1.5em if the parent is 12px — this is why em compounds when you nest elements.

Features

Instant two-way conversion
Configurable root/parent font size
Full conversion table for common root sizes
Fractional-pixel rounding warning
Copy the value or the whole table
Works offline in your browser
No uploads or tracking

How to Use

1. Enter the pixels (px) value you want to convert. 2. Set the root (or parent) font size the value should be measured against — 16px is the browser default. 3. Read the em result, or copy the whole conversion table for the sizes you use.

Common Mistakes

  • Assuming the conversion is fixed. 1em equals the parent element's font size, not a fixed number of pixels — the same px value converts differently depending on that size.
  • Confusing em with rem. `em` is relative to the *parent* element's font size and therefore compounds when nested; `rem` is always relative to the root element and does not.
  • Setting a px font size on the root element. That overrides the user's browser font-size preference, which defeats the accessibility reason for using relative units at all.
  • Rounding too early. Keep the fraction (1.375rem, not 1.4rem) — the browser resolves sub-pixel values fine and the rounding error compounds across a scale.

Frequently Asked Questions

The conversion runs entirely in your browser. Nothing is uploaded and nothing is stored.

Explore related topics

#Converter #Web #CSS