Point to REM
Convert points (pt) to rem values.
Convert Points (pt) to REM (rem). Results update as you type.
pt
Browser default is 16px
pt to rem conversion table (base 16px)
| Points | REM |
|---|---|
| 6pt | 0.5rem |
| 7pt | 0.5833rem |
| 8pt | 0.6667rem |
| 9pt | 0.75rem |
| 10pt | 0.8333rem |
| 10.5pt | 0.875rem |
| 11pt | 0.9167rem |
| 12pt | 1rem |
| 14pt | 1.1667rem |
| 16pt | 1.3333rem |
| 18pt | 1.5rem |
| 20pt | 1.6667rem |
| 24pt | 2rem |
| 28pt | 2.3333rem |
| 36pt | 3rem |
| 48pt | 4rem |
| 72pt | 6rem |
Point to REM Converter
Turn point-based typography into accessible rem values. Enter 15 and you get 1.25rem with the default 16px root. Change the root font size if your project uses a different value, and paste a complete type scale into the bulk box to convert it in one step.
How the conversion works
rem = pt × 96 ÷ 72 ÷ root font size
Since 12pt = 16px, a 16px root gives the handy shortcut rem = pt ÷ 12.
| Points | Pixels | REM (16px root) |
|---|---|---|
| 8pt | 10.6667px | 0.6667rem |
| 12pt | 16px | 1rem |
| 15pt | 20px | 1.25rem |
| 21pt | 28px | 1.75rem |
| 30pt | 40px | 2.5rem |
| 36pt | 48px | 3rem |
Worked example: converting a brand type scale
A brand book lists this scale: caption 9pt, body 12pt, H3 15pt, H2 21pt, H1 30pt. Pasting 9, 12, 15, 21, 30 as separate lines gives 0.75rem, 1rem, 1.25rem, 1.75rem, and 2.5rem. Drop those into CSS custom properties such as --text-h1: 2.5rem; and the whole system scales with the reader's font preference. If your team uses a 10px root, enter 10 as the base: the same H1 becomes 4rem.
Why rem is the better target
Points were designed for paper, where the reader cannot change the text size. On the web, WCAG 1.4.4 expects text to resize up to 200% without loss of content. rem units follow the browser's default size, so a visitor who raises it from 16px to 20px sees every heading grow proportionally, while pt values would stay fixed.
Rounding advice
Point sizes that are not multiples of 3 produce repeating decimals (8pt = 0.6667rem). Four decimals are more than enough precision; browsers round to device pixels anyway.
See also Point to EM for component-relative sizing and REM to Point for the reverse.
Frequently Asked Questions
How do I convert points to rem?
Multiply the point value by 1.3333 to get pixels, then divide by the root font size. With a 16px root, 21pt = 28px = 1.75rem.
What is 12pt in rem?
12pt is 16px, so it is 1rem with the default 16px root. If your root is 10px (html { font-size: 62.5% }), 12pt is 1.6rem.
Can I use pt directly in CSS instead?
You can, but points are absolute and do not scale when a user increases the browser's default font size. Converting to rem keeps the intended proportions while respecting that setting.