CSS px ↔ rem ↔ em converter — visual scale, base font size adjustable.
- Runs locally
- Category Calculator
- Best for Getting a realistic range before a purchase, plan, workout, or schedule decision.
| px | rem | em | pt |
|---|---|---|---|
| 12 | 0.75 | 0.75 | 9 |
| 14 | 0.875 | 0.875 | 10.5 |
| 16 | 1 | 1 | 12 |
| 18 | 1.125 | 1.125 | 13.5 |
| 20 | 1.25 | 1.25 | 15 |
| 24 | 1.5 | 1.5 | 18 |
| 32 | 2 | 2 | 24 |
| 48 | 3 | 3 | 36 |
| 64 | 4 | 4 | 48 |
| px | rem | em | pt |
|---|---|---|---|
| 12 | 0.75 | 0.75 | 9 |
| 14 | 0.875 | 0.875 | 10.5 |
| 16 | 1 | 1 | 12 |
| 18 | 1.125 | 1.125 | 13.5 |
| 20 | 1.25 | 1.25 | 15 |
| 24 | 1.5 | 1.5 | 18 |
| 32 | 2 | 2 | 24 |
| 48 | 3 | 3 | 36 |
| 64 | 4 | 4 | 48 |
What this tool does
A four-way CSS unit converter for front-end developers and designers. Type a value in px, rem, em, or pt and the other three recompute live — no submit button, no round-trip lag. The root (html) font size defaults to 16px (the browser default) but you can override it from 12 to 24 to match a design system that shipped a custom base. Em uses a separate "parent" font size so you can sanity-check how a nested component scales relative to its container, not just to root. A live preview renders sample text at the current pixel size, so you can tell at a glance whether 1.125rem actually looks like a heading. Batch mode takes a list like "12px 14px 16px 18px 24px 32px" and outputs a clean px → rem / em / pt table you can paste into a design spec. A built-in reference shows the canonical breakpoints every CSS framework agrees on (12px = 0.75rem, 16px = 1rem, 24px = 1.5rem, 32px = 2rem). 100% client-side; nothing leaves your browser.
Tool details
- Input
- Text + Numbers
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy + Preview
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- No account required
- Open the page and use it; whether results survive refresh depends on the tool.
- Performance budget
- Initial JS <= 12 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Calculator · Developer
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How PX REM EM Converter fits into your work
Use it for fast estimates, comparisons, and planning numbers before you make the final call.
Calculation jobs
- Getting a realistic range before a purchase, plan, workout, or schedule decision.
- Comparing scenarios by changing one input at a time.
- Turning rough assumptions into a number you can discuss.
Calculation checks
- Double-check units, dates, rates, and rounding assumptions.
- Treat health, finance, tax, and legal outputs as planning aids, not professional advice.
- Save the inputs that produced an important result so you can reproduce it later.
Good next steps
These links move the current task into a more complete workflow.
- 1 CSS Formatter & Minifier Format and beautify CSS — sort properties, indent rules, expand or minify. Open
- 2 CSS Box Shadow Generator Visual CSS box-shadow builder — multi-layer, inset, color/blur with live preview. Open
- 3 Unit Converter Convert between length, weight, temperature, area, volume, speed, time — instant, browser-only Open
Real-world use cases
Migrating a px-based stylesheet to rem for accessibility
You inherited a layout in fixed px and want body type to honor reader font-size settings. Paste 14px 16px 18px 24px 32px into batch mode and get a px-to-rem table at base 16, then swap the values into your CSS so a reader who bumps their default to 20 sees everything scale.
Matching a design system that ships a custom base font
The handoff spec sets html to 18px, not the browser default. Set the base font input to 18 and the px and rem fields recompute, so 1.5rem reads as 27px instead of 24px. The live preview renders the actual pixel size so you can confirm a heading looks right before committing.
Common pitfalls
Forgetting to change the base font input when your html isn't 16px, so every rem result is off
Reading the em field against root: em compounds on the parent font size, not the html root
Using the 62.5 percent trick to make 1rem equal 10px, which breaks readers' custom font-size preferences
Treating the preview as exact while your browser is zoomed or set to a non-default font size
Privacy
Every conversion runs in your browser with plain JavaScript. The values you type, batch lists, and base font setting are never sent to a server, logged, or stored anywhere off your device.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- Add Line Numbers Number every line of pasted text — set start, step and separator, zero-pad to align, skip blanks, or strip numbers back off — browser-only
- AES Text Encryptor Encrypt & decrypt text with a password — AES-256-GCM + PBKDF2 via WebCrypto — 100% in your browser, nothing uploaded
- Affine Cipher Encoder & Decoder Encrypt and decrypt the ax+b affine cipher with live modular-inverse check, browser-only
- Age Difference Calculator The exact gap between two birthdays — years/months/days, percentage, and the date one person is twice the other's age — browser-only