PX to EM Converter
Convert pixels to em units for any parent font size, with a full conversion table and rounding warnings.
Browsers default to 16px. Use 10 if your CSS sets html { font-size: 62.5% }.
About this conversion
The same value at other root sizes
| Root size | Result |
|---|
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
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
Related Tools
The conversion runs entirely in your browser. Nothing is uploaded and nothing is stored.