~ / developer / px-rem-converter

📐 px ↔ rem 변환기

px를 rem으로, rem을 px로 바꾸고 CSS 한 줄로 복사하세요. 디자인 시안의 px 값을 여러 개 한꺼번에 넣어도 돼요.

광고
광고
input
변환 방향
px
px
px
px
result
결과
-
광고

사용법

  1. 방향(px → rem 또는 rem → px)을 고르고 값을 넣어요. 14 16 24처럼 여러 개를 한 번에 넣을 수 있어요.
  2. 루트 font-size는 보통 브라우저 기본값 16px이에요. html { font-size: 62.5% }를 쓰는 프로젝트라면 10px로 바꾸세요.
  3. 값을 두 개 이상 넣으면 가장 작은 값에서 큰 값으로 화면 너비에 따라 커지는 clamp() 식도 만들어 줘요.

계산 공식

변환공식
px → rempx ÷ 루트 font-size
rem → pxrem × 루트 font-size
px → empx ÷ 부모(자기) 요소 font-size
px → ptpx × 0.75 (1pt = 1/72인치, 1px = 1/96인치)
clamp 기울기(최대 px − 최소 px) ÷ (최대 화면 − 최소 화면) × 100 = vw 계수

예시: 루트 16px에서 24px은 24 ÷ 16 = 1.5rem, 14px은 0.875rem이에요. 62.5% 트릭(10px)이면 24px = 2.4rem입니다. 360px 화면에서 16px, 1280px 화면에서 24px로 커지게 하려면 clamp(1rem, 0.8043rem + 0.8696vw, 1.5rem)가 돼요.

16px 기준 px ↔ rem 변환표

pxrempxrem
10px0.625rem20px1.25rem
12px0.75rem24px1.5rem
13px0.8125rem28px1.75rem
14px0.875rem32px2rem
15px0.9375rem40px2.5rem
16px1rem48px3rem
18px1.125rem64px4rem

예시 계산 3가지

입력설정결과
① 기본값 14 16 18 24 32 (px → rem)루트 16px, 360~1280px 화면0.875 · 1 · 1.125 · 1.5 · 2rem, 그리고 clamp(0.875rem, 0.4348rem + 1.9565vw, 2rem)
② 같은 값, 62.5% 트릭루트 10px1.4 · 1.6 · 1.8 · 2.4 · 3.2rem (em·pt는 루트와 무관해 그대로: 14px = 0.875em = 10.5pt)
③ 20px, 부모 글자 14px 안루트 16px, 부모 14px1.25rem, 하지만 em으로는 1.4286em — em은 부모 기준이라 숫자가 달라요

①의 clamp 식은 360px 화면에서 14px, 768px 태블릿에서 약 21.98px, 1024px에서 약 26.99px, 1280px 이상에서 32px이 돼요. 기울기는 (32 − 14) ÷ (1280 − 360) × 100 = 1.9565vw, 절편은 14 − 0.019565 × 360 = 6.96px(0.4348rem)이에요. rem → px로 바꿔 0.875 1.5 2.25를 넣으면 14 · 24 · 36px이 나와요.

브라우저 글자 크기 설정에 따른 차이

사용자가 브라우저 설정에서 기본 글꼴 크기를 바꾸면 rem·em 값은 따라 커지지만 px은 그대로예요. 크롬 설정 '글꼴 크기'의 단계를 기준으로 계산하면 아래와 같아요.

브라우저 기본 글꼴1.5rem24px62.5% 트릭의 2.4rem
작게 12px18px24px18px
중간 16px (기본)24px24px24px
크게 20px30px24px30px
매우 크게 24px36px24px36px

62.5%는 퍼센트라 사용자 설정을 그대로 따라가요. 반대로 html { font-size: 10px }처럼 px로 고정하면 사용자 설정을 무시하게 돼서 접근성이 떨어져요. 화면 확대 200%까지 글이 잘리지 않아야 한다는 기준은 WCAG 2.2 성공 기준 1.4.4 텍스트 크기 조정에, 단위 정의는 MDN CSS length에 있어요.

광고

어디에 어떤 단위를 쓸까

속성추천 단위이유
본문·제목 font-sizerem (반응형은 clamp)사용자 글자 설정을 따라가요
버튼 안 padding·아이콘 크기em버튼 글자 크기를 바꾸면 여백도 비율대로 따라와요
테두리 border, 그림자px1px 선은 글자가 커져도 1px이 자연스러워요
미디어 쿼리 너비em 또는 pxem으로 쓰면 글자 확대 시 레이아웃도 함께 바뀌어요 (48em = 768px)
line-height단위 없는 숫자 (1.5)자식 요소 글자 크기에 맞춰 다시 계산돼요

흔한 실수

광고
광고

자주 묻는 질문

px를 rem으로 바꾸는 공식은?
px ÷ 루트 font-size예요. 기본값 16px이면 24px ÷ 16 = 1.5rem입니다.
1rem은 몇 px인가요?
html 요소의 font-size와 같아요. 따로 정하지 않았다면 대부분 브라우저 기본값인 16px이고, 사용자가 브라우저 글자 크기를 바꾸면 달라집니다.
rem과 em의 차이는?
rem은 루트(html) 글자 크기 기준이라 어디서든 같은 값이고, em은 그 요소(또는 부모)의 글자 크기 기준이라 중첩될수록 곱해져요.
62.5% 트릭은 무엇인가요?
html font-size를 62.5%로 두면 16px × 0.625 = 10px이 돼서 1.6rem = 16px처럼 계산이 쉬워져요. 대신 본문 글자 크기를 다시 지정해야 하고, 서드파티 컴포넌트의 rem 크기가 작아지는 부작용이 있어요.
62.5% 트릭을 쓰면 접근성에 문제가 없나요?
퍼센트로 지정하면 사용자의 브라우저 글자 크기 설정을 따라가서 괜찮아요. 기본 16px이면 10px, 사용자가 20px로 키우면 12.5px가 되고 rem 값도 함께 커져요. html에 10px처럼 px로 고정하는 게 문제예요.
미디어 쿼리에도 rem을 써야 하나요?
미디어 쿼리의 rem·em은 html font-size가 아니라 브라우저 기본 글자 크기(보통 16px)를 기준으로 계산돼요. 그래서 48em은 62.5% 트릭을 써도 768px이에요. 글자 확대 시 레이아웃도 같이 바뀌길 원하면 em, 아니면 px을 쓰세요.
clamp()의 vw 값은 어떻게 정하나요?
최소·최대 글자 크기와 그 크기가 적용될 화면 너비 두 점을 잇는 직선의 기울기로 정해요. 이 도구에 값을 두 개 이상 넣으면 식을 만들어 줍니다.

이 도구와 함께 보면 좋은 글

관련 도구

광고

더 둘러보기

💻 개발자 다른 도구

🔥 많이 찾는 도구

🔮 재미로 한 번 더

📝 읽어 볼 만한 글

글 전체 보기 →