Konverter satuan CSS adalah alat yang mengubah nilai panjang antar sistem pengukuran CSS yang berbeda. CSS mendefinisikan lebih dari selusin satuan panjang, dibagi menjadi dua kelompok: satuan absolut seperti px, pt, cm, dan in yang dipetakan ke pengukuran fisik tetap, serta satuan relatif seperti rem, em, vw, vh, dan % yang bergantung pada konteks seperti ukuran font atau dimensi viewport.
Browser mengubah semua panjang CSS menjadi piksel saat rendering. Ketika Anda menulis 1.5rem, browser mengalikan 1.5 dengan ukuran font root (biasanya 16px) untuk mendapatkan 24px. Ketika Anda menulis 50vw, browser mengambil setengah dari lebar viewport saat ini. Memahami hubungan ini penting untuk membangun tata letak yang responsif di berbagai perangkat dan menghormati preferensi pengguna seperti ukuran font kustom yang diatur di browser.
Spesifikasi CSS Values and Units Module Level 4 (W3C) mendefinisikan rasio konversi tepat antar semua satuan absolut: 1in = 96px = 72pt = 2.54cm = 25.4mm. Satuan relatif tidak memiliki rasio tetap karena bergantung pada konteks saat runtime. Konverter satuan CSS gratis memungkinkan Anda menghitung hubungan ini secara instan berdasarkan ukuran font root dan dimensi viewport spesifik Anda, tanpa perlu menulis kode apapun.
Mengapa Menggunakan Konverter Satuan CSS?
Mengonversi antar satuan CSS secara manual berarti mengingat rasio, membuka kalkulator, dan memeriksa ulang perhitungan. Alat ini melakukan konversi di browser Anda tanpa hambatan apapun.
⚡
Konversi Instan
Masukkan nilai, pilih satuan sumber, dan lihat hasilnya dalam semua 10 satuan CSS sekaligus. Tidak perlu melakukan perhitungan terpisah untuk px-ke-rem, px-ke-vw, atau px-ke-pt.
🔒
Data Anda Tetap Privat
Semua konversi berjalan secara lokal di browser Anda. Tidak ada nilai yang dikirim ke server, dicatat, atau disimpan. Tutup tab dan data hilang.
🎯
Sesuaikan dengan Konteks Anda
Atur ukuran font root, lebar viewport, tinggi viewport, dan ukuran font parent. Konverter menggunakan nilai-nilai ini untuk menghasilkan hasil yang akurat untuk satuan rem, em, vw, vh, dan %.
📏
Mencakup Semua Satuan Panjang CSS
Mendukung px, rem, em, vw, vh, %, pt, cm, mm, dan in. Baik Anda bekerja dengan tata letak layar, stylesheet cetak, maupun tipografi responsif, setiap satuan telah tercakup.
Kasus Penggunaan Konverter Satuan CSS
Pengembangan Frontend
Konversi nilai piksel dari file desain ke rem untuk component library. Ketika mockup Figma menentukan spasi 24px, konversikan ke 1.5rem agar tata letak menyesuaikan dengan preferensi ukuran font pengguna.
Rekayasa Backend / Full-Stack
Buat template PDF atau email di mana dimensi ditentukan dalam pt atau cm. Konversi nilai piksel CSS ke ukuran point siap cetak untuk server-side rendering dengan alat seperti Puppeteer atau wkhtmltopdf.
DevOps / Pipeline CI
Validasi bahwa token spasi design system menggunakan satuan yang konsisten di seluruh langkah build. Verifikasi dengan cepat bahwa basis 16px menghasilkan nilai rem yang diharapkan dalam CSS yang dihasilkan.
QA / Pengujian Visual
Verifikasi computed style selama pengujian lintas browser. Ketika Chrome DevTools menampilkan computed value 14.4px, konversikan ke rem untuk memastikan nilainya sesuai dengan 0.9rem yang diharapkan dari stylesheet.
Visualisasi Data
Ukur elemen SVG atau canvas relatif terhadap dimensi viewport. Konversi lebar chart piksel tetap ke satuan vw agar visualisasi mengisi persentase layar yang konsisten di berbagai monitor.
Belajar CSS
Pahami hubungan antara rem, em, dan px dengan bereksperimen menggunakan ukuran dasar yang berbeda. Ubah ukuran font root dari 16px ke 18px dan lihat bagaimana setiap nilai rem berubah.
Referensi Satuan Panjang CSS
CSS mendefinisikan 10 satuan panjang yang umum digunakan. Satuan absolut memiliki konversi tetap ke piksel. Satuan relatif bergantung pada konteks: ukuran font root untuk rem, ukuran font parent untuk em, dan viewport browser untuk vw dan vh.
Satuan
Nama
Ukuran default
Relatif terhadap
px
Pixel
1px
Fixed; 1px = 1/96 of 1in on screens
rem
Root em
16px (default)
Relative to <html> font-size
em
Em
Inherited
Relative to parent element font-size
vw
Viewport width
1% of viewport
Relative to browser window width
vh
Viewport height
1% of viewport
Relative to browser window height
%
Percentage
Varies
Relative to parent property value
pt
Point
1.333px
Print unit; 1pt = 1/72 of 1in
cm
Centimeter
37.795px
Physical unit; 1cm = 96px / 2.54
mm
Millimeter
3.7795px
Physical unit; 1mm = 1cm / 10
in
Inch
96px
Physical unit; 1in = 96px (CSS spec)
Satuan CSS Absolut vs Relatif
Memilih antara satuan absolut dan relatif memengaruhi bagaimana tata letak Anda merespons berbagai layar dan pengaturan pengguna. Setiap kelompok memiliki trade-off yang berbeda.
Satuan Absolut (px, pt, cm, mm, in)
Satuan absolut menghasilkan ukuran fisik yang sama terlepas dari konteksnya. Gunakan px untuk border, shadow, dan elemen yang tidak perlu diskalakan. Gunakan pt untuk stylesheet cetak. Spesifikasi CSS mendefinisikan 1in = 96px, meskipun ukuran fisik sebenarnya bervariasi berdasarkan DPI layar.
Satuan Relatif (rem, em, vw, vh, %)
Satuan relatif menyesuaikan diri dengan konteks referensinya. Gunakan rem untuk ukuran font dan spasi agar menghormati preferensi pengguna. Gunakan em untuk penskalaan internal komponen (padding relatif terhadap ukuran font elemen itu sendiri). Gunakan vw/vh untuk tata letak yang memenuhi viewport seperti bagian hero.
Tabel Konversi px ke rem yang Umum
Tabel ini mengasumsikan ukuran font root 16px (default browser). Jika proyek Anda menggunakan dasar yang berbeda, bagi nilai piksel dengan dasar Anda untuk mendapatkan ekuivalen rem.
px
rem
pt
Penggunaan umum
10
0.625
7.5
Small caption text
12
0.75
9
Body text (compact)
14
0.875
10.5
Default body text
16
1
12
Root font-size (browser default)
18
1.125
13.5
Large body text
20
1.25
15
H4 heading
24
1.5
18
H3 heading
32
2
24
H2 heading
48
3
36
H1 heading
64
4
48
Display / hero text
Contoh Kode
Contoh-contoh berikut menunjukkan cara mengonversi satuan CSS secara programatik dalam JavaScript, Python, CSS custom properties, dan Sass.
JavaScript
// px to rem (given root font-size of 16px)
const pxToRem = (px, base = 16) => px / base
pxToRem(24) // → 1.5
// rem to px
const remToPx = (rem, base = 16) => rem * base
remToPx(1.5) // → 24
// px to vw (given viewport width of 1440px)
const pxToVw = (px, viewport = 1440) => (px / viewport) * 100
pxToVw(360) // → 25
// Dynamic calculation using getComputedStyle
const rootFontSize = parseFloat(
getComputedStyle(document.documentElement).fontSize
) // → 16 on most browsers
Semua browser utama (Chrome, Firefox, Safari, Edge) memiliki ukuran font root default 16px. Artinya 1rem = 16px kecuali pengguna atau stylesheet mengganti ukuran font elemen html. Beberapa pengguna meningkatkan ini di pengaturan browser untuk aksesibilitas, itulah mengapa rem adalah pilihan default yang lebih baik untuk teks dibandingkan px.
Bagaimana cara mengonversi px ke rem?
Bagi nilai piksel dengan ukuran font root. Dengan basis default 16px: 24px / 16 = 1.5rem. Jika proyek Anda menetapkan html { font-size: 10px } (reset yang umum digunakan), maka 24px / 10 = 2.4rem. Rumusnya selalu: rem = px / ukuran-font-root.
Apa perbedaan antara rem dan em?
rem bersifat relatif terhadap ukuran font elemen root (tag html), sementara em bersifat relatif terhadap ukuran font parent dari elemen saat ini. Artinya rem menghasilkan ukuran yang konsisten di seluruh halaman, sementara em bertambah berlipat ketika bersarang. Nilai 2em di dalam parent 2em menjadi 4x ukuran root. Gunakan rem untuk spasi global dan ukuran font; gunakan em ketika Anda ingin ukuran menyesuaikan dengan teks komponen itu sendiri.
Kapan harus menggunakan satuan vw atau vh?
Gunakan vw untuk elemen yang harus menyesuaikan dengan lebar jendela browser, seperti bagian hero lebar penuh atau tipografi fluid (clamp dengan vw). Gunakan vh untuk bagian layar penuh atau tata letak tinggi viewport. Berhati-hatilah dengan vh di browser mobile di mana address bar mengubah tinggi viewport; satuan dvh (dynamic viewport height) yang lebih baru mengatasi masalah ini.
Bisakah saya mencampur satuan CSS yang berbeda dalam properti yang sama?
Ya. Fungsi CSS calc() memungkinkan Anda menggabungkan satuan apapun dalam satu ekspresi. Misalnya, width: calc(100vw - 2rem) mengurangi 32px (pada basis default) dari lebar viewport penuh. Anda juga dapat mencampur satuan dalam clamp(): font-size: clamp(1rem, 2vw + 0.5rem, 2.5rem) menciptakan tipografi fluid yang menyesuaikan antara 16px dan 40px.
Berapa piksel untuk 1pt dalam CSS?
Dalam CSS, 1pt = 1/72 inci, dan 1 inci = 96px, sehingga 1pt = 96/72 = 1.333px. Rasio ini tetap dalam spesifikasi CSS terlepas dari DPI layar. Point terutama digunakan dalam stylesheet cetak dan pembuatan PDF. Untuk desain layar, px atau rem adalah pilihan yang lebih baik.
Apakah reset font-size 62.5% masih praktik yang baik?
Menetapkan html { font-size: 62.5% } membuat 1rem = 10px, yang menyederhanakan perhitungan mental (24px = 2.4rem). Namun, pendekatan ini mengharuskan Anda menetapkan font-size secara eksplisit pada elemen body dan dapat menyebabkan masalah dengan komponen pihak ketiga yang mengasumsikan basis default 16px. Preferensi modern adalah mempertahankan default 16px dan menggunakan fungsi Sass atau plugin PostCSS untuk menangani konversi.