PX to REM Converter
Convert pixels to rem units against any root font size, with a conversion table for 16px and 62.5% setups.
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 | rem |
|---|
What It Does
This tool converts pixels (px) to rem in CSS. The conversion is not a fixed ratio — a rem is relative to the font size of the *root* (html) element — so the tool asks for the size that rem 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 rem for accessibility.
- You inherited a codebase that mixes units and you need the rem 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
24px is 1.5rem at the 16px browser default.
10
10px is 0.625rem at a 16px root — or exactly 1rem if your CSS uses the html { font-size: 62.5% } trick.
1440
Container widths convert too: 1440px is 90rem, which keeps a max-width scaling with the reader's font size.
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 rem result, or copy the whole conversion table for the sizes you use.
Common Mistakes
- Assuming the conversion is fixed. 1rem equals the root element's font size, which the user can change in their browser — 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.