Rem to Pixels
1 Rem (rem) = 16Pixel (px)
By KAMP Inc. / UnitOwl · Last reviewed:
How to Convert Rem to Pixels?
To convert rem to pixels, multiply the rem value by the root element's font size (16px by default). Since rem always references the root html element, the conversion is straightforward and does not depend on nesting. At a 16px root, 1rem = 16px, 0.5rem = 8px, and 3rem = 48px. This conversion is frequently needed for verifying rendered sizes, debugging CSS layouts, creating design documentation in pixels, and building email templates where rem is not supported. Unlike em, rem conversion requires only one number (the root font size), making it predictable and easy to calculate. This simplicity is why rem became the preferred relative unit in modern CSS. It also makes rem-to-px translation a common part of design QA, where teams compare a live component against a pixel-based mockup or audit whether a spacing token is being applied correctly. Once you know the root size, every rem value on the page becomes easy to interpret. That predictability is what makes rem-based token systems easier to audit than deeply nested em-based ones.
How to Convert Rem to Pixel
- Check the root font size (html element's font-size, default: 16px).
- Multiply the rem value by the root font size to get pixels.
- The formula is: px = rem x root-font-size.
- Common conversions at 16px root: 0.25rem = 4px, 0.5rem = 8px, 1rem = 16px, 1.5rem = 24px, 2rem = 32px.
- If your project uses the 62.5% trick (10px root), multiply rem by 10 instead.
Real-World Examples
Quick Reference
| Rem (rem) | Pixel (px) |
|---|---|
| 1 | 16 |
| 2 | 32 |
| 5 | 80 |
| 10 | 160 |
| 25 | 400 |
| 50 | 800 |
| 100 | 1,600 |
| 500 | 8,000 |
| 1,000 | 16,000 |
History of Rem and Pixel
The rem unit was proposed to solve the cascading complexity of em. While em forced developers to track font-size inheritance through every level of the DOM, rem provided a single, stable reference point. After gaining browser support in 2011-2012, rem quickly became the preferred unit for CSS frameworks. Bootstrap switched to rem in version 4 (2018), and Tailwind CSS uses rem for virtually all spacing and sizing utilities. The rem unit exemplifies how web standards evolve to address real developer pain points.
Common Mistakes to Avoid
- Confusing rem with em. Rem is always relative to the root (html) element. Em is relative to the parent element. In deeply nested structures, em values compound while rem values remain constant. If a value seems wrong, check whether the stylesheet uses rem or em.
- Forgetting to account for custom root font sizes. If the CSS sets html { font-size: 62.5%; }, the root is 10px, and 1.6rem = 16px (not 1rem = 16px). Always check the root before converting.
- Assuming rem values from one project apply to another. Different projects may use different root font sizes. Always verify the root font-size before applying rem-to-px conversions.
- Comparing rem values to a pixel spec without checking whether browser settings or project CSS changed the root size. If the root is no longer 16px, the same rem token resolves to a different pixel number than your design file shows.
Frequently Asked Questions
Is rem supported in email clients?
How do CSS frameworks define their spacing scales in rem?
What happens to rem if the user changes their browser font size?
Why do teams still convert rem back to px if rem is better for CSS?
What is 2.5rem in pixels?
For the fastest mental math with the standard 16px root: every 0.25rem = 4px. So 0.5rem = 8px, 0.75rem = 12px, 1rem = 16px, 1.25rem = 20px, and so on. This quarter-rem-to-4px pattern covers most practical spacing values. For the 62.5% trick (10px root), it is even simpler: just move the decimal point.
Sources & References
- NIST — Units and Conversion Factors — Official unit conversion factors from the National Institute of Standards and Technology.
- BIPM — The International System of Units (SI) — International SI unit definitions from the International Bureau of Weights and Measures.