Skip to content

Konverter RGB ke HEX

Konversi RGB ke hex di peramban Anda — integer, persentase, dan alpha rgba semuanya didukung. Gratis, instan, tanpa daftar, warna Anda tidak pernah meninggalkan halaman.

Tanpa Pelacakan Berjalan di Browser Gratis
Semua konversi warna terjadi secara lokal di peramban Anda. Tidak ada data yang dikirim ke server mana pun.
Gamut: sRGB Display P3 Rec2020
Kontras vs:
AA AA-Lg AAA AAA-Lg · APCA Lc
Simulasi buta warna (8 tipe)
Protanopia (buta-merah)
Deuteranopia (buta-hijau)
Tritanopia (buta-biru)
Achromatopsia (total)
Protanomaly (lemah-merah)
Deuteranomaly (lemah-hijau)
Tritanomaly (lemah-biru)
Achromatomaly (parsial)
Tints / Shades / Tones / Harmonies

Tints

Shades

Tones

Harmonies

Salin sebagai kode
Referensi warna umum
Ditinjau untuk kesesuaian CSS Color 4, dukungan input RGB integer + persentase + alpha, kebenaran emisi alpha hex 8 digit, dan bit-eksaktitas round-trip antara RGB dan HEX di seluruh rentang 0-255. — Tim Engineering Go Tools · May 27, 2026

Apa Itu Konverter RGB ke HEX?

Konverter RGB ke hex adalah utilitas kecil yang mengubah tiga nilai integer kanal 0-255 (`rgb(255 87 51)`) menjadi kode hex 6 karakter yang mengkodekan warna yang sama (`#FF5733`). RGB dan hex adalah dua format yang menjadi fondasi setiap stylesheet web, alat desain, dan pipeline piksel-gambar sejak akhir 1990-an, dan konversi di antara keduanya adalah operasi tunggal paling umum di tooling warna — dipasangkan dengan arah inversnya, transformasi persis ini berjalan jutaan kali per hari di setiap plugin Figma, preprocessor CSS, build token desain, dan UI pemilih warna di web. RGB adalah format yang dialamatkan-kanal yang dilaporkan API perangkat keras, panggilan gambar canvas, manipulasi buffer gambar, atribut warna OpenGL, dan sebagian besar SDK grafis secara native — tiga integer terpisah 0-255 yang memetakan langsung ke subpiksel merah, hijau, dan biru LCD atau fosfor CRT. Hex adalah format copy-paste yang ringkas yang diharapkan Figma, Sketch, Photoshop, dan setiap PDF panduan brand untuk output — string basis-16 6 karakter yang muat di properti kustom CSS dengan nyaman dan terbaca dalam sekilas begitu mata Anda mempelajari polanya. Mengonversi antara keduanya bersifat mekanis: konversi setiap integer ke pasangan basis-16 2 digit dan gabungkan dengan `#` di depan. Alat ini menjalankan konversi itu secara langsung saat Anda mengetik, tanpa tombol "Konversi" untuk diklik, dan memunculkan setiap format warna umum lainnya (HSL, OKLCH, OKLAB, HSV, HWB, CMYK, ditambah 148 nama warna CSS) berdampingan dengan output HEX secara gratis.

**Format hex sendiri layak dilihat lebih dekat.** Hex CSS standar datang dalam empat bentuk yang sah. Bentuk kanonik 6 digit `#RRGGBB` mengemas tiga kanal 8-bit ke dalam 6 digit basis-16 — 16.777.216 warna total (256³). Singkatan 3 digit `#RGB` adalah bentuk terkompresi di mana setiap digit digandakan untuk membentuk ekuivalen 6 digit: `#F73` berkembang menjadi `#FF7733`, *bukan* `#000F73` (ini adalah salah satu aturan paling sering disalahpahami di sintaks warna CSS). Bentuk alpha 8 digit `#RRGGBBAA` menambahkan pasangan alpha 2 digit pada skala 0-`FF`, dengan `00` sepenuhnya transparan dan `FF` sepenuhnya opak. Singkatan alpha 4 digit `#RGBA` mencerminkan singkatan 3 digit dengan menggandakan setiap digit, termasuk digit alpha. Hex bersifat tidak-peka-huruf — `#ff5733` dan `#FF5733` diurai secara identik, meskipun sebagian besar panduan brand memilih konvensi huruf dan tetap menggunakannya. Pilihan basis-16 nyaman karena satu digit hex = nibble = 4 bit, dua digit = byte = 0-255, sehingga satu pasangan 2 digit memetakan dengan bersih ke satu kanal 8-bit tanpa pemborosan padding.

Matematika konversi berjalan kedua arah dengan bersih. **RGB ke HEX**: untuk setiap kanal, panggil `value.toString(16).padStart(2, '0')` untuk mendapatkan pasangan hex 2 digit (`padStart` itu penting — tanpanya, nilai kanal 5 akan diserialisasi sebagai `'5'` alih-alih `'05'`, menghasilkan hex tidak valid), lalu gabungkan. Untuk RGB yang membawa alpha (`rgb(R G B / A)` atau `rgba(R, G, B, A)`), kalikan float alpha 0-1 dengan 255, bulatkan ke integer terdekat, enkode-hex sebagai pasangan ke-4, dan pancarkan bentuk 8 digit. **HEX ke RGB** adalah inversnya: urai hex 6 digit `#RRGGBB` sebagai tiga angka basis-16 2 digit melalui `parseInt(hex.slice(1, 3), 16)`, dst. Kedua arah bersifat bit-eksak: 16² = 256, persis cocok dengan rentang byte 0-255 yang ditempati setiap kanal, sehingga round-trip RGB → HEX → RGB menghasilkan integer asli secara harfiah tanpa pergeseran float.

**Mengapa HEX dibandingkan RGB di CSS?** Tiga alasan. Hex lebih pendek — `#FF5733` adalah 7 karakter versus `rgb(255, 87, 51)` pada 16 karakter, perbedaan yang berarti ketika dikemas ke dalam properti kustom CSS atau objek konfigurasi Tailwind. Hex tidak memiliki bug whitespace — minifier CSS, serialisasi JSON, dan alat baris-perintah semuanya menangani string 7 karakter dengan bersih tanpa khawatir tentang pencocokan tanda kurung atau escape koma. Dan hex adalah format yang dibicarakan seluruh ekosistem alat desain secara native — panel warna Figma, sampel warna Sketch, pemilih warna Photoshop, setiap PDF panduan brand, setiap callout warna shot Dribbble — semuanya mengekspor hex secara default. Jalur copy-paste dari desainer ke developer berbentuk hex, itulah mengapa konversi RGB-ke-HEX begitu sering: developer menerima RGB dari alat non-desain (panggilan canvas, eyedropper tangkapan layar, sensor perangkat keras) dan perlu mengubahnya menjadi bentuk hex yang diharapkan oleh sisa stack mereka.

Alur kerja RGB → HEX alat ini adalah satu arah dari keluarga 5-spoke yang semuanya berbagi konverter warna terpadu yang mendasarinya. Konverter warna terpadu khusus adalah hub-nya — ia menunjukkan semua 9 format yang dapat diedit secara bersamaan dan merupakan alat yang tepat ketika alur kerja Anda membutuhkan lebih dari sekadar RGB dan hex. Spoke arah-tunggal menargetkan intent pencarian Google tertentu: konverter hex ke RGB kebalikan untuk arah invers (mengambil hex dari Figma dan menarik keluar integer 0-255), konverter hex ke HSL untuk ruang kognitif-desainer warisan, konverter hex ke OKLCH untuk sistem desain seragam-perseptual modern (Tailwind v4 dan shadcn keduanya defaultnya OKLCH sekarang), dan konverter hex ke CMYK untuk aproksimasi persiapan cetak. Kelima spoke dan hub berbagi mesin parsing yang sama dan matematika konversi yang sama, sehingga hasilnya dijamin identik di seluruh keluarga. Setiap konversi berjalan secara lokal di peramban Anda — nilai RGB Anda tidak pernah diunggah, tidak pernah dicatat, dan nol permintaan jaringan berjalan saat Anda mengetik. Verifikasi di DevTools.

// Serialize {r, g, b, alpha} → canonical hex string
// Emits 6-digit #RRGGBB when alpha === 1, 8-digit #RRGGBBAA otherwise.
function formatHex({ r, g, b, alpha = 1 }) {
  const pair = (v) => Math.round(v).toString(16).padStart(2, '0').toUpperCase();
  const rgb = pair(r) + pair(g) + pair(b);
  if (alpha >= 1) return `#${rgb}`;
  const a = pair(alpha * 255);
  return `#${rgb}${a}`;
}

console.log(formatHex({ r: 255, g: 87, b: 51 }));              // '#FF5733'
console.log(formatHex({ r: 59, g: 130, b: 246 }));             // '#3B82F6'
console.log(formatHex({ r: 255, g: 87, b: 51, alpha: 0.5 })); // '#FF573380'
console.log(formatHex({ r: 5, g: 0, b: 0 }));                  // '#050000' — padStart matters

Fitur Utama

Semua Bentuk Input RGB Diurai Secara Identik

Dipisah-spasi modern `rgb(255 87 51)`, dipisah-koma warisan `rgb(255, 87, 51)`, kanal persentase `rgb(100% 34% 20%)`, alpha modern melalui slash `rgb(255 87 51 / 0.5)`, dan warisan `rgba(255, 87, 51, 0.5)` semuanya diurai secara identik. Parser menormalkan setiap bentuk input ke tuple RGB internal yang sama sebelum serialisasi hex, sehingga Anda dapat menempelkan bentuk apa pun yang dihasilkan sumber Anda — triple integer Photoshop, `rgba()` stylesheet, tuple Canvas API — tanpa pemformatan ulang manual.

Output Hex dalam Bentuk Huruf Besar 6 atau 8 Digit

Bidang HEX memunculkan nilai sebagai `#FF5733` untuk warna opak dan `#FF573380` untuk yang membawa alpha (bentuk 8 digit). Huruf besar secara default untuk konsistensi dengan sebagian besar panduan brand; satu replace mekanis berbalik ke huruf kecil jika panduan gaya Anda mengharuskannya. Kedua bentuk valid CSS dan dirilis di semua peramban evergreen. Bentuk alpha 8 digit dirilis di semua peramban utama pada 2018; untuk fallback IE 11, bentuk warisan `rgba()` masih ada tepat di bidang RGB.

Bit-Eksak, Tanpa Pergeseran Float

RGB → HEX adalah matematika integer-ke-string: `value.toString(16).padStart(2, '0')` menghasilkan pasangan hex 2 digit kanonik dengan nol keterlibatan float. Arah sebaliknya (`parseInt(pair, 16)`) sama eksaknya. Round-trip RGB → HEX → RGB → HEX menghasilkan input asli secara harfiah, tanpa batas. Source-of-truth internal OKLCH berarti bahkan rantai yang lebih panjang RGB → HSL → OKLAB → HEX tetap bit-stabil, yang tidak dijamin konverter warisan yang mengalir melalui HSL.

Kanal Alpha Dikodekan dengan Bersih

RGB yang membawa alpha (`rgb(255 87 51 / 0.5)` atau `rgba(255, 87, 51, 0.5)`) memancarkan bentuk hex 8 digit (`#FF573380`) secara otomatis. Float alpha dikalikan dengan 255 dan dibulatkan ke integer terdekat sebelum enkoding hex: `0,5 × 255 = 128 = 0x80`. Output kembali ke hex 6 digit ketika alpha sama dengan 1 untuk menghindari kebocoran pasangan `FF` di akhir ke stylesheet. Berguna untuk migrasi token desain di mana nilai alpha di `rgba()` perlu round-trip ke bentuk hex 8 digit modern.

Delapan Format Lainnya Terlihat Secara Bersamaan

RGB yang sama yang Anda tempel juga menggerakkan HSL, HSV, HWB, OKLCH, OKLAB, CMYK, dan nama warna CSS terdekat — semuanya terlihat dalam sekilas di halaman yang sama. Anda tidak pernah terkunci hanya pada RGB → hex. Jika rekan tim membutuhkan triple OKLCH untuk token Tailwind v4, nama warna terdekat untuk prosa dokumentasi, atau aproksimasi CMYK untuk penawaran cetak, nilainya sudah ada di sana dengan tombol Salin masing-masing.

Kontras WCAG + APCA Dibangun di Dalam

Lewatkan sebuah tuple RGB dan baris kontras langsung menilainya terhadap putih dan hitam menggunakan WCAG 2.1 (lantai regulasi: 4,5:1 untuk teks badan, 7:1 untuk AAA) dan APCA Lc (penerus WCAG 3 yang diusulkan: target `|Lc| ≥ 75` untuk teks badan). Berguna ketika Anda baru saja mengonversi tuple RGB ke hex dan ingin memverifikasi bahwa warna brand yang dihasilkan benar-benar terbaca sebagai warna teks badan sebelum mengirimnya.

Salin sebagai CSS / Tailwind v4 / SwiftUI / Compose / Flutter

Di bawah pemilih, bagian Salin sebagai kode mengubah warna saat ini menjadi snippet siap-tempel untuk lima platform: properti kustom CSS (`--color-brand: #FF5733`), token `@theme` Tailwind v4, literal SwiftUI `Color(red:green:blue:)`, konstanta Jetpack Compose `Color(0xFFFF5733)`, Flutter `Color(0xFFFF5733)`. Sintaks yang persis diharapkan setiap platform, siap dijatuhkan ke katalog aset iOS, file tema Android, atau `ThemeData` Flutter.

100% Di-Peramban — Tanpa Unggah, Tanpa Pelacakan

Semua parsing RGB, serialisasi hex, penilaian kontras, dan generasi palet berjalan secara lokal di peramban Anda. Nilai RGB Anda tidak pernah ditransmisikan, tidak pernah dicatat di server mana pun, tidak pernah dianalisis. Nol permintaan jaringan saat Anda mengetik — verifikasi di DevTools. Aman untuk palet brand yang belum diumumkan, token desain internal, mockup draf di bawah NDA, dan pekerjaan warna rahasia lainnya.

Hash URL yang Dapat Dibagikan untuk Warna Persis

Warna saat ini dikodekan ke hash URL sebagai `#hex=ff5733` secara otomatis pada setiap perubahan. Salin URL, tempel ke thread Slack atau isu GitHub, dan siapa pun yang membukanya mendarat pada tuple RGB yang sama dengan hasil hex yang sama. Hash hanya hidup di address bar Anda dan tidak pernah ditransmisikan ke server (peramban tidak menyertakan fragmen URL dalam permintaan HTTP), sehingga bahkan membagikan tautan tidak membocorkan warna ke pihak ketiga mana pun.

Alternatif Konverter RGB ke HEX

RapidTables RGB to Hex

alat peramban

Hasil Google default untuk "rgb to hex" — formulir arah-tunggal dengan tiga kotak angka RGB masuk, hex keluar, tidak ada format lain yang terlihat. Berguna untuk pencarian sekali pakai saat datang dari pencarian. Kekurangan OKLCH, pemeriksaan kontras, deteksi gamut, penanganan alpha, dan tampilan bersamaan multi-format. Alat ini menang di setiap sumbu kecuali kasus konversi-tunggal yang minimalis.

ColorHexa

alat peramban

Halaman SEO per-warna yang berjalan lama dengan metadata mendalam: konversi, palet, harmonies, gradien untuk RGB apa pun yang Anda kueri. UI sudah ketinggalan zaman (awal 2010-an), tanpa dukungan OKLCH, tanpa kontras APCA, tanpa penanganan gamut luas. Kuat untuk penemuan SEO warna tertentu melalui Google; lebih lemah untuk alur kerja konversi aktif di mana mengetik ke dalam UX bidang-bersatu lebih cepat.

Kalkulator RGB W3Schools

alat peramban

Toggle HEX/RGB/HSL ramah-pemula di halaman fokus-pengajaran, ada di mana-mana di hasil pencarian. Tanpa OKLCH, tanpa penanganan alpha di luar rgba, tanpa fitur lanjutan. Berguna sebagai referensi di samping konten penjelas W3Schools. Alat ini menang di setiap sumbu lain: lebih banyak format, matematika perseptual, fitur gamut + kontras + CVD, ekspor kode modern untuk Tailwind v4 / SwiftUI / Compose / Flutter.

Pemilih Warna DevTools Peramban

fitur peramban bawaan

DevTools Chrome, Firefox, dan Safari semuanya mengirim pemilih warna yang mengonversi RGB ke hex secara inline ketika Anda mengklik sampel warna di panel CSS. Gratis, tanpa instal, selalu tersedia. Kekurangan OKLCH, kekurangan URL yang dapat dibagikan, kekurangan ekspor kode untuk platform non-web (SwiftUI, Compose). Gunakan DevTools ketika Anda sudah men-debug CSS; gunakan alat ini ketika Anda membutuhkan output lintas-platform.

Digital Color Meter macOS

aplikasi macOS native

Dibundel dengan setiap Mac sejak OS X — hover di atas piksel mana pun dan baca nilai RGB / hex / linear. Sangat baik untuk mengambil sampel warna piksel dari aplikasi mana pun di layar. Tidak menerima triple RGB yang ditempel untuk konversi; ini adalah pengambil-sampel-layar, bukan konverter. Gunakan tombol EyeDropper di pemilih alat ini (hanya peramban Chromium) untuk kemampuan pengambilan-sampel-layar yang sama di dalam peramban.

ConvertingColors

alat peramban

Halaman SEO per-warna yang mencakup banyak ruang (HEX, RGB, HSL, HSV, CMYK, XYZ, CIELAB). Kekurangan dukungan OKLCH modern dan UX pengeditan bidang-bersatu. Halaman konten yang dihasilkan otomatis terasa seperti content-farm tetapi data konversinya benar. Bagus untuk menggali metadata warna individu melalui Google; alat ini lebih cepat untuk alur kerja aktif.

Contoh RGB ke HEX

Input dari rgb() CSS → hex untuk SwiftUI

rgb(255 87 51)

Output HEX: `#FF5733`. Alur kerja lintas-platform klasik — stylesheet CSS mendeklarasikan warna brand dalam sintaks `rgb()` modern, tim iOS membutuhkan hex untuk dijatuhkan ke ekstensi SwiftUI `Color(hex:)` atau katalog aset. Setiap kanal dikonversi secara independen: `255 → FF`, `87 → 57`, `51 → 33`, digabungkan dengan `#` di depan. Hex yang sama juga tertempel dengan bersih ke Android Compose, Flutter, dan Figma — hex tetap menjadi lingua franca untuk serah-terima warna lintas-platform pada 2026.

Integer RGB Photoshop desainer → variabel CSS

rgb(59 130 246)

Output HEX: `#3B82F6`. Pemilih Color Adobe melaporkan RGB sebagai tiga integer 0-255 (di Photoshop, Illustrator, dan InDesign); tim front-end membutuhkan hex untuk dijatuhkan ke properti kustom CSS seperti `--color-brand: #3B82F6`. Triple khusus ini adalah `blue-500` Tailwind — `59 = 0x3B`, `130 = 0x82`, `246 = 0xF6`. Menempelkannya di sini sekali menghasilkan hex yang cocok ditambah triple OKLCH untuk migrasi token Tailwind v4, semuanya dalam satu langkah.

RGB dengan alpha → hex 8 digit

rgb(255 87 51 / 0.5)

Output HEX: `#FF573380`. Float alpha dikalikan dengan 255 (`0,5 × 255 = 127,5`, dibulatkan menjadi 128), kemudian dikonversi ke pasangan hex 2 digit (`128 = 0x80`) yang ditambahkan setelah hex RGB. Hex 8 digit CSS dengan alpha dirilis native di semua peramban evergreen pada 2018 (Chrome 62, Firefox 49, Safari 9.1, Edge 79). Untuk dukungan peramban pra-2018, bentuk warisan `rgba(255, 87, 51, 0.5)` masih tersedia; konversinya bersifat mekanis dan mempertahankan warna yang sama dengan persis.

Kanal RGB persentase → hex

rgb(100% 50% 0%)

Output HEX: `#FF8000`. CSS Color 4 mengizinkan kanal persentase — setiap persentase memetakan ke rentang 0-255 dengan `nilai × 255 / 100`, kemudian dibulatkan ke integer terdekat (`50% × 255 = 127,5 → 128 = 0x80`). Bentuk persentase dan integer dapat dipertukarkan dan menghasilkan output hex yang identik. Sintaks persen kadang lebih disukai di stylesheet yang ditulis tangan untuk keterbacaan ketika rasio kanal lebih penting daripada nilai integer mentah; output hex menormalkan kedua input menjadi string kanonik 6 digit yang sama.

Konversi RGB → HEX yang Umum

Tabel referensi dari 10 tuple RGB yang paling banyak dikonversi dan ekuivalen hex-nya — primer murni, sekunder murni, dan dua warna brand dunia nyata dari palet Tailwind.

Hitam

rgb(0 0 0) #000000

Hitam murni. Ketiga kanal pada nol — ketiadaan cahaya yang dipancarkan. Kode hex (#000000).

rgb(0 0 0) #000000

Hitam murni di layar jarang merupakan pilihan desain yang tepat — coba `#111` atau OKLCH lightness 0,1-0,15 untuk teks badan yang lebih lembut.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Putih

rgb(255 255 255) #FFFFFF

Putih murni. Ketiga kanal pada nilai maksimumnya (255). Warna paling cerah di sRGB.

rgb(255 255 255) #FFFFFF

Latar belakang putih murni dapat menyebabkan ketegangan mata di lingkungan gelap — pertimbangkan `#fafafa` atau OKLCH 0,98 untuk alternatif yang lebih hangat.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Merah

rgb(255 0 0) #FF0000

Merah murni. Kanal R pada maksimum, G dan B pada nol. Yang pertama dari tiga primer sRGB.

rgb(255 0 0) #FF0000

Merah murni sangat jenuh dan jarang cocok dengan palet brand — sebagian besar warna brand "merah" duduk lebih dekat ke #DC2626 atau #E53935.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Hijau

rgb(0 255 0) #00FF00

Hijau murni. Kanal G pada maksimum, R dan B pada nol. Nama warna CSS `lime` (bukan `green`, yang #008000).

rgb(0 255 0) #00FF00

Kata kunci CSS `green` resolusi ke #008000 (setengah-terang), bukan #00FF00 — sumber kebingungan yang sering. Gunakan `lime` untuk hijau RGB murni.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Biru

rgb(0 0 255) #0000FF

Biru murni. Kanal B pada maksimum, R dan G pada nol. Primer sRGB ketiga.

rgb(0 0 255) #0000FF

Biru murni di latar putih gagal kontras WCAG AA (3,7:1) — pertimbangkan biru brand yang lebih gelap seperti #1D4ED8 (Tailwind blue-700) untuk teks badan.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Cyan

rgb(0 255 255) #00FFFF

Cyan — hijau dan biru pada maksimum, merah pada nol. Salah satu dari tiga sekunder sRGB. Nama warna CSS `cyan` (atau setara `aqua`).

rgb(0 255 255) #00FFFF

Cyan dan aqua adalah sinonim persis di CSS — keduanya resolusi ke #00FFFF. Pilih satu dan tetap konsisten di stylesheet Anda.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Magenta

rgb(255 0 255) #FF00FF

Magenta — merah dan biru pada maksimum, hijau pada nol. Nama warna CSS `magenta` (atau setara `fuchsia`).

rgb(255 0 255) #FF00FF

Magenta dan fuchsia adalah sinonim persis di CSS — keduanya resolusi ke #FF00FF. Umum di pola tes dan overlay alat developer.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Kuning

rgb(255 255 0) #FFFF00

Kuning — merah dan hijau pada maksimum, biru pada nol. Yang paling cerah dari tiga sekunder sRGB berdasarkan luminansi yang dipersepsikan.

rgb(255 255 0) #FFFF00

Kuning adalah warna non-putih dengan luminansi tertinggi di layar — teks kuning pada latar putih hampir tidak terlihat, meskipun hex terlihat baik-baik saja di atas kertas.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Tailwind blue-500

rgb(59 130 246) #3B82F6

Warna brand blue-500 default Tailwind CSS — "web blue" kanonik pertengahan-2020-an. Digunakan di dasbor, situs pemasaran, dan alat admin yang tak terhitung jumlahnya.

rgb(59 130 246) #3B82F6

Tailwind v4 mendefinisikan ulang blue-500 di OKLCH (`oklch(0.629 0.193 263.4)`) untuk ramp yang seragam-perseptual — hex tetap sama sebagai fallback.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Tailwind rose-500

rgb(244 63 94) #F43F5E

rose-500 default Tailwind CSS — merah-muda saturasi-tinggi yang umum digunakan untuk tombol aksen, status peringatan, dan kontras brand.

rgb(244 63 94) #F43F5E

Rose-500 lulus WCAG AA (4,6:1) terhadap putih untuk teks besar tetapi gagal untuk teks badan — pasangkan dengan rose-600 (#e11d48) atau lebih gelap untuk salinan badan di atas putih.

Butuh OKLCH sebagai gantinya? Coba konverter hex ke OKLCH khusus untuk output yang seragam-perseptual.

Cara Menggunakan Konverter RGB ke HEX

  1. 1

    Ketik atau tempel tuple RGB ke bidang RGB

    Jatuhkan nilai `rgb()` apa pun ke input RGB — dipisah-spasi modern `rgb(255 87 51)`, koma warisan `rgb(255, 87, 51)`, dengan alpha melalui slash `rgb(255 87 51 / 0.5)` atau melalui bentuk `rgba(255, 87, 51, 0.5)`, atau kanal persentase `rgb(100% 34% 20%)`. Alat menormalkan semua bentuk input ke tuple RGB internal yang sama sebelum menghitung hex. Karakter tidak valid, integer di luar rentang, atau sintaks yang salah bentuk menghasilkan error inline yang tenang; RGB yang valid memperbarui setiap bidang format lainnya secara waktu nyata.

  2. 2

    Baca kode hex dari bidang HEX

    Bidang HEX di atas bidang RGB menunjukkan nilai hex yang cocok: `#FF5733` untuk warna opak, `#FF573380` untuk yang membawa alpha (bentuk 8 digit). Output menggunakan digit hex huruf besar secara default untuk konsistensi dengan sebagian besar panduan brand; huruf kecil (`#ff5733`) hanya satu replace mekanis dan sama-sama CSS yang valid. Konversinya bersifat bit-eksak — round-trip RGB → HEX → RGB memulihkan tuple asli secara harfiah tanpa pergeseran float.

  3. 3

    Klik Salin untuk mengambil string hex

    Setiap kartu format memiliki tombol Salin di sebelah kanan. Satu klik dan nilai mendarat di clipboard Anda — label tombol sebentar berkedip "Disalin!" sehingga Anda tahu. String yang disalin termasuk `#` di depan sehingga tertempel langsung ke aturan CSS, bidang warna Figma, ekstensi hex SwiftUI, atau `colors.xml` Android. Untuk sintaks spesifik-platform (SwiftUI `Color(red:green:blue:)`, Compose `Color(0xFF...)`, token `@theme` Tailwind v4), gunakan bagian Salin sebagai kode di bawah pemilih.

  4. 4

    Juga terlihat: HSL, OKLCH, OKLAB, CMYK, nama warna

    RGB yang sama yang Anda tempel juga menyalakan bidang format lainnya — HSL untuk CSS warisan, OKLCH dan OKLAB untuk sistem desain yang seragam-perseptual, HSV dan HWB untuk alur kerja pemilih warna desainer, CMYK untuk estimasi cetak, dan nama warna CSS terdekat untuk dokumentasi dan prosa. Anda tidak pernah terkunci hanya pada RGB → hex; jika Anda juga membutuhkan triple OKLCH untuk blok `@theme` Tailwind v4, itu sudah ada di bidang OKLCH dengan tombol Salin-nya sendiri.

  5. 5

    Gunakan pemilih untuk tweak visual

    Di bawah grid format adalah kotak SL + slider rona + slider alpha untuk eksplorasi visual. Seret kontrol mana pun dan setiap bidang teks diperbarui secara waktu nyata, termasuk RGB dan HEX yang Anda mulai. Pada peramban berbasis Chromium (Chrome, Edge, Brave), tombol EyeDropper mengaktifkan `EyeDropper` API native untuk mengambil sampel piksel mana pun di layar, termasuk di luar jendela peramban — berguna ketika Anda ingin menangkap tuple RGB dari UI aplikasi lain tanpa tangkapan layar terlebih dahulu, lalu langsung membaca hex.

Kesalahan RGB / HEX yang Umum

Lupa padStart Saat Menserialisasi RGB ke Hex

Mengonversi RGB ke hex memerlukan `toString(16)` setiap kanal di-left-pad menjadi 2 digit. Tanpa `padStart(2, '0')`, nilai kanal satu-digit menghasilkan hex tidak valid: `rgb(5, 87, 51)` akan diserialisasi sebagai `#55733` (5 karakter) alih-alih `#055733` (6 karakter). Banyak konverter ad-hoc melewatkan pad dan menghasilkan output yang rusak untuk kanal apa pun di bawah 16. Idiom standar adalah `value.toString(16).padStart(2, '0')` untuk masing-masing R, G, B, lalu gabungkan dan tambahkan `#` di depan.

✗ Salah
Lewati padStart:
[5, 87, 51].map(v => v.toString(16)).join('') → '55733'
Menghasilkan hex 5-karakter yang tidak valid.
✓ Benar
Gunakan padStart(2, '0'):
[5, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('') → '055733'
Hex 6-karakter yang valid; bekerja dengan benar untuk semua nilai kanal 0-255.

Lupa Membulatkan Float RGB Sebelum Pengkodean Hex

Ketika tuple RGB berasal dari float ternormalisasi 0-1 yang dikalikan dengan 255 (umum di OpenGL, SwiftUI, data gambar ternormalisasi), hasilnya sering kali adalah float seperti `127,5` atau `204,7`. Memanggil `toString(16)` pada float menghasilkan hex desimal seperti `'7f.8'` atau `'cc.b333...'`, yang bukan hex CSS yang valid. Selalu `Math.round` (atau `Math.floor`/`Math.ceil` sesuai kebijakan pembulatan Anda) float menjadi integer sebelum langkah `toString(16)`.

✗ Salah
Lewati pembulatan:
(0.5 * 255).toString(16) → '7f.8'
Menghasilkan hex yang tidak valid dengan titik desimal.
✓ Benar
Bulatkan ke integer terlebih dahulu:
Math.round(0.5 * 255).toString(16).padStart(2, '0') → '80'
Pasangan hex 2 digit yang valid; cocok dengan normalisasi CSS Color 4.

Membingungkan Urutan Alpha Hex 8 Digit

Hex CSS 8 digit adalah `#RRGGBBAA` — alpha adalah pasangan *akhir*. Beberapa pustaka warna (terutama `Color.parseColor()` Android lama) menggunakan urutan terbalik `#AARRGGBB` dengan alpha sebagai pasangan *pertama*, yang tidak kompatibel dengan hex CSS. Nilai RGB dengan alpha 50% yang diserialisasi ke hex CSS memancarkan `#FF573380`; dipancarkan ke format alpha-awal Android akan menjadi `#80FF5733`. Selalu verifikasi urutan alpha platform target sebelum menghasilkan hex 8 digit.

✗ Salah
Pancarkan hex alpha-awal Android ke CSS:
rgb(255 87 51 / 0.5) → #80FF5733 (format Android)
CSS mengurai sebagai alpha=128, R=255, G=87, B=51 — warna yang sepenuhnya salah.
✓ Benar
Gunakan format yang didokumentasikan platform target:
untuk CSS: #FF573380 (alpha sebagai byte terakhir)
untuk Android Compose: Color(0x80FF5733) (alpha sebagai byte pertama)
Jangan cross-paste antara keduanya tanpa menyusun ulang.

Merata-Ratakan Kanal RGB Secara Langsung untuk Blending

Kanal RGB bersifat gamma-encoded, bukan linear. Merata-ratakan dua nilai RGB memberikan titik-tengah yang salah secara perseptual. `(255, 0, 0)` dirata-ratakan dengan `(0, 255, 0)` menghasilkan `(127, 127, 0)`, zaitun gelap yang berlumpur, bukan titik-tengah kuning terang yang Anda harapkan dari pencampuran cahaya merah dan hijau. Untuk blending yang benar, dekode ke linear-RGB terlebih dahulu melalui fungsi transfer sRGB (CSS Color 4 §11.2), rata-rata di ruang linear, lalu enkode-ulang. Atau bekerja di OKLAB / OKLCH di mana jarak perseptual seragam.

✗ Salah
Rata-ratakan RGB gamma-encoded secara langsung:
(rgb(255,0,0) + rgb(0,255,0)) / 2 = rgb(128, 128, 0)
Terlihat seperti zaitun gelap, bukan kuning terang.
✓ Benar
Rata-ratakan di linear-RGB:
dekode → linear-RGB → rata-rata → enkode-ulang → rgb(188, 188, 0)
Kuning terang yang terlihat, cocok dengan apa yang dihasilkan pencampuran cahaya fisik.

Siapa yang Menggunakan RGB ke HEX

Developer Frontend Mengonversi RGB Canvas ke Hex CSS
Fungsi gambar Canvas API melaporkan dan menerima warna sebagai tuple RGB (`ctx.fillStyle = 'rgb(255 87 51)'`), tetapi stylesheet CSS di sekitarnya menginginkan variabel hex (`--color-fill: #FF5733`). Menempelkan RGB sekali menghasilkan hex yang cocok, siap dijatuhkan ke properti kustom CSS. Berguna ketika mengekstrak warna brand dari grafik yang di-render-canvas atau visualisasi data untuk digunakan kembali di UI statis.
Desainer Mengonversi RGB Photoshop ke Hex Figma
Pemilih Color Adobe (di Photoshop, Illustrator, dan InDesign) melaporkan RGB sebagai tiga integer 0-255 di tiga kotak kanal. Figma, sebaliknya, menampilkan nilai warna sebagai hex secara default di panel desainnya. Tempel tiga integer Photoshop sebagai `rgb(...)` di sini, salin output hex, jatuhkan ke bidang warna Figma. Mencocokkan warna Photoshop asli dengan persis tanpa jalan memutar tangkapan-layar-dan-eyedropper.
Hardware Dev Mengonversi RGB Sensor LED ke Hex Web
Strip LED yang dapat dialamatkan, sensor warna, dan kamera RGB perangkat keras semuanya melaporkan nilai kanal sebagai integer 0-255. Ketika pembacaan perlu menggerakkan dasbor web ("lampu saat ini bersinar warna ini"), kode hex yang cocok adalah apa yang diharapkan atribut `style="background: ..."` CSS. Tempel triple RGB sensor, salin hex, colokkan ke markup dasbor.
Game Dev Mengekspor Color Unity ke Mockup Web
Konstruktor `Color` Unity dan `FLinearColor` Unreal mengambil float ternormalisasi 0-1; mengalikan masing-masing dengan 255 memberikan integer RGB yang cocok. Tempel `rgb(...)` yang dihasilkan di sini, salin hex, jatuhkan ke mockup web atau situs pemasaran yang perlu mencocokkan warna aksen dalam-game dengan persis. Tampilan OKLCH bersamaan juga memunculkan kecerahan perseptual sehingga palet mockup dapat disetel-tangan untuk mencocokkan tingkat kecerahan game.
Insinyur Aksesibilitas Mengaudit Warna Brand Photoshop
Ketika panduan gaya brand melaporkan warna sebagai triple integer RGB ("oranye brand adalah RGB 255 / 87 / 51") tetapi alat audit WCAG menginginkan kode hex, konverter ini adalah jembatannya. Tempel triple RGB, salin hex, jalankan melalui audit. Badge kontras WCAG dan APCA di alat ini juga memunculkan vonis dalam satu langkah, sehingga Anda tidak perlu memantul antara tiga alat terpisah.
Email Dev Memigrasikan rgba() ke Hex 8 Digit
HTML klien-email modern mendukung hex 8 digit (`#FF573380`) untuk warna yang membawa alpha, tetapi template warisan sering menyimpan nilai yang sama sebagai `rgba(255, 87, 51, 0.5)`. Menempelkan rgba() di sini dan membaca output hex 8 digit membuat migrasi bersifat mekanis. Bidang HEX menunjukkan `#FF573380` untuk kasus alpha 50%; bentuk warisan `rgba()` tetap di bidang RGB untuk konteks fallback yang masih membutuhkannya.
Developer Mendokumentasikan Token Brand dengan Kedua Format
Dokumentasi token desain sering menunjukkan warna yang sama dalam kedua bentuk RGB dan hex: hex untuk blok kode CSS, RGB untuk anotasi prosa ("oranye brand adalah `#FF5733`, setara dengan RGB 255 / 87 / 51"). Memiliki keduanya terlihat berdampingan memungkinkan penulis dokumen menyalin masing-masing dalam satu kali jalan alih-alih menjalankan dua alat terpisah. Hash URL yang dapat dibagikan juga memungkinkan pembaca mengklik melalui ke warna persis yang sedang dibahas.
Insinyur QA Menegaskan Warna Piksel Terhadap Spesifikasi Hex
Tes regresi visual kadang menangkap warna piksel sebagai integer RGB (`expect(pixel).toMatchRgb([255, 87, 51])`), sementara spesifikasi yang mendasarinya diberikan dalam hex ("tombol harus di-render sebagai `#FF5733`"). Menempelkan RGB yang ditangkap di sini menghasilkan hex yang cocok, yang dapat dibandingkan insinyur QA langsung dengan spesifikasi. Bit-eksaktitas konversi berarti perbandingan tidak akan flake pada perbedaan pergeseran float.

Matematika & Serialisasi RGB ke HEX

toString(16).padStart(2, '0') Adalah Implementasi Satu-Baris
Seluruh konversi RGB-ke-hex muat dalam satu ekspresi per kanal: `value.toString(16).padStart(2, '0')`. `toString(16)` JavaScript mengonversi integer desimal ke representasi string basis-16-nya. `padStart(2, '0')` adalah detail yang mudah dilupakan — tanpanya, nilai kanal 5 akan diserialisasi sebagai `'5'` alih-alih `'05'`, menghasilkan hex 5 karakter yang tidak valid seperti `#55733` ketika digabungkan dengan kanal lainnya. Idiom standar adalah `[r, g, b].map(v => v.toString(16).padStart(2, '0')).join('')` diikuti dengan awalan `'#'`.
Normalisasi Persentase: × 255 / 100, Lalu Bulatkan
CSS Color 4 mengizinkan kanal persentase di `rgb()`: `rgb(100% 34% 20%)` setara dengan `rgb(255 87 51)`. Aturan normalisasinya adalah `Math.round(percent × 255 / 100)`. `50% × 255 / 100 = 127,5` dibulatkan menjadi 128 (banker's rounding menjauh dari ,5). Aturan yang sama berlaku untuk alpha ketika dinyatakan sebagai persentase (`rgb(255 87 51 / 50%)` ↔ `rgb(255 87 51 / 0.5)`). Bentuk integer dan persentase menghasilkan output hex yang identik setelah normalisasi; alat memunculkan bentuk integer kanonik di bidang RGB setelah re-normalisasi.
Alpha ke Hex: Kalikan dengan 255, Bulatkan, Enkode sebagai Pasangan Akhir
RGB yang membawa alpha (`rgb(255 87 51 / 0.5)`) memancarkan hex 8 digit dengan mengalikan alpha dengan 255, membulatkan ke integer terdekat, dan mengkodekan sebagai pasangan hex ke-4 yang ditambahkan setelah RGB. `0,5 × 255 = 127,5`, dibulatkan menjadi 128 = `0x80`, output `#FF573380`. Spesifikasi CSS Color 4 menggunakan banker's-rounding (round-half-to-even) untuk konversi ini, yang diikuti alat. Bentuk 8 digit kembali ke 6 digit ketika alpha tepat 1 untuk menghindari kebocoran pasangan `FF` di akhir ke stylesheet.
Input RGB: Dipisah-Spasi CSS Color 4 dan Koma Warisan Keduanya Diterima
Parser menerima baik bentuk modern CSS Color 4 `rgb(255 87 51)` maupun bentuk CSS 1 warisan `rgb(255, 87, 51)`. Bentuk modern selaras dengan notasi fungsional CSS Color 4 lainnya (`hsl()`, `lab()`, `oklch()`, `color()`) yang semuanya menggunakan pemisahan spasi dan slash-untuk-alpha. Bentuk koma warisan masih didukung di setiap peramban evergreen dan tetap umum di codebase yang lebih lama. Keduanya menghasilkan output hex yang identik; serializer hex alat tidak peduli bentuk input mana yang tiba.
Source-of-Truth Internal OKLCH untuk Stabilitas Round-Trip
Meskipun spoke ini menargetkan RGB → HEX secara spesifik, konverter yang mendasari yang dibagikan menahan warna kanonik sebagai triple OKLCH secara internal. Ini berarti RGB → HEX → HSL → OKLAB → CMYK → RGB round-trip tanpa pergeseran float per-langkah; konverter warisan yang mengalir melalui HSL atau sRGB sebagai pivotnya mengakumulasi error pembulatan di setiap konversi. Pilihan OKLCH (dibandingkan OKLAB) mempertahankan Hue sebagai sumbu yang stabil sehingga menyeret slider rona tidak secara tidak sengaja melintasi-fade melalui abu-abu. Per makalah OKLAB 2020 Björn Ottosson.
Pengkodean Kanal: Unsigned 8-Bit, Gamma-Encoded sRGB
Setiap kanal RGB adalah integer unsigned 8-bit (0-255), dikodekan di ruang warna sRGB yang didefinisikan oleh IEC 61966-2-1 (1996). Nilai-nilai bersifat *gamma-encoded* — artinya hubungan antara nilai kanal dan kecerahan yang dipersepsikan tidak linear, mengikuti fungsi transfer sRGB piecewise (kira-kira eksponen 2,4 dengan segmen linear kecil di dekat nol). Ini penting ketika Anda melakukan matematika warna: merata-ratakan dua nilai RGB dalam bentuk gamma-encoded memberikan titik-tengah perseptual yang salah. Untuk blending warna yang benar, dekode ke linear-RGB terlebih dahulu (CSS Color 4 §11.2), lalu rata-rata, lalu enkode-ulang. Model OKLCH internal alat membuatnya transparan.

Praktik Terbaik untuk Alur Kerja RGB / HEX

Pilih Hex Huruf Besar di Panduan Brand, Huruf Kecil di Kode
Panduan brand, PDF pemasaran, dan dokumentasi yang berorientasi-desainer biasanya menggunakan hex huruf besar (`#FF5733`) untuk konsistensi visual — tampilan semua-kapital terbaca sebagai pengidentifikasi brand. Kode (CSS, JSON, sumber JavaScript) biasanya menggunakan huruf kecil (`#ff5733`) berdasarkan konvensi karena huruf kecil lebih cepat diketik dan lebih umum di output linter yang dihasilkan otomatis. Keduanya valid CSS dan diurai secara identik; pilih satu untuk setiap konteks dan tetap konsisten. Alat memancarkan huruf besar secara default; satu replace mekanis berbalik ke huruf kecil.
Pancarkan Hex 8 Digit Hanya Ketika Alpha < 1
Ketika alpha sama dengan 1 (sepenuhnya opak), kembali ke bentuk 6 digit. Pasangan `FF` di akhir (`#FF5733FF`) adalah CSS yang sah tetapi secara visual mengacaukan stylesheet dan membingungkan beberapa parser warisan untuk salah-merender. Bentuk 8 digit harus muncul hanya ketika alpha benar-benar transparan secara berarti. Alat ini mengikuti aturan itu secara otomatis — warna opak memancarkan hex 6 digit, warna yang membawa alpha memancarkan hex 8 digit, dan cutoffnya eksak (alpha = 1,0 memancarkan 6 digit; alpha = 0,9999 memancarkan 8 digit untuk mempertahankan data).
Jangan Rata-Ratakan Kanal RGB Secara Langsung untuk Matematika Warna
Kanal RGB bersifat gamma-encoded — merata-ratakan dua nilai RGB memberikan titik-tengah perseptual yang salah. `(255, 0, 0)` dirata-ratakan dengan `(0, 255, 0)` menghasilkan `(127, 127, 0)`, zaitun gelap yang berlumpur, bukan titik-tengah kuning yang cerah secara visual yang Anda harapkan. Untuk blending warna yang benar, dekode ke linear-RGB terlebih dahulu (CSS Color 4 §11.2), lalu rata-rata, lalu enkode-ulang. Atau, lebih baik, bekerja di OKLAB atau OKLCH di mana jarak perseptual seragam — itulah yang dilakukan generator palet sistem desain.
Pilih Hex untuk Variabel CSS, RGB untuk Perangkat Keras
Ketika Anda menulis properti kustom CSS atau token konfigurasi Tailwind, pilih hex — lebih ringkas dan muat dengan bersih di JSON atau YAML. Ketika kode konsumsi melakukan aritmatika per-kanal (panggilan canvas, manipulasi gambar, driver LED perangkat keras, atribut warna OpenGL), bentuk integer RGB lebih cepat dikonsumsi. Kedua format menggambarkan warna yang sama; pilihannya murni tentang siapa yang membaca dan menulis, bukan tentang kebenaran. Tampilan bidang-bersamaan alat ini membuat keduanya sama-sama murah.
Validasi Rentang Alpha Sebelum Mengalikan dengan 255
Ketika mengimplementasikan konverter RGB → hex-8-digit Anda sendiri, validasi bahwa float alpha berada di dalam `[0, 1]` sebelum langkah `× 255`. Alpha di luar rentang (negatif, atau > 1) diam-diam menghasilkan pasangan hex yang tidak valid yang diterima beberapa parser dan ditolak beberapa lainnya — mode kegagalan yang rapuh. Clamp terlebih dahulu (`Math.max(0, Math.min(1, alpha))`), lalu kalikan, lalu bulatkan, lalu enkode-hex. Alat memunculkan error inline yang tenang untuk alpha di luar rentang alih-alih memancarkan string hex yang rusak.
Gunakan Hash URL untuk Berbagi Keputusan Warna Langsung
Setiap perubahan warna memperbarui hash URL sebagai `#hex=ff5733` secara otomatis. Salin URL ke thread Slack atau isu GitHub dan siapa pun yang membukanya mendarat pada warna yang sama dengan hex yang sama. Ini lebih andal daripada menempelkan tuple RGB di chat — penerima kadang salah ketik koma atau menjatuhkan kanal saat memasukkan nilai secara manual — dan memungkinkan thread review desain mereferensikan warna yang persis alih-alih "oranye yang kita bahas Selasa." Hash tidak pernah ditransmisikan ke server.

Pertanyaan yang Sering Diajukan

Bagaimana cara mengonversi RGB ke hex?
Konversi setiap integer kanal 0-255 ke string basis-16 2 digit, kemudian gabungkan dengan `#` di depan. Di JavaScript: `[255, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('')` mengembalikan `'ff5733'`. `padStart(2, '0')` itu penting — tanpanya, nilai satu-digit seperti `5` diserialisasi sebagai `'5'` alih-alih `'05'`, menghasilkan hex yang tidak valid. Alat ini menjalankan konversi secara langsung saat Anda mengetik — tempel nilai `rgb()` apa pun (dengan atau tanpa spasi, dengan koma atau sintaks spasi modern, dengan atau tanpa alpha) dan bidang HEX diperbarui secara instan dengan nilai `#RRGGBB` atau `#RRGGBBAA` 8 digit yang cocok.
Apa itu RGB dalam hex?
RGB dalam hex adalah warna yang sama yang dikodekan sebagai string basis-16 6 karakter. Kedua bentuk menggambarkan warna sebagai tiga kanal (merah, hijau, biru) pada skala 0-255, berlabuh di ruang warna sRGB. `rgb(255 87 51)` dan `#FF5733` dapat dipertukarkan di mana pun `` diterima di CSS — keduanya round-trip tanpa kehilangan. Hex mengemas informasi yang sama ke dalam bentuk yang lebih ringkas yang muat dengan bersih di variabel CSS dan disalin dengan bersih antara Figma, Sketch, Photoshop, dan kode; `rgb()` mempertahankan kanal yang dapat dialamatkan sebagai integer terpisah untuk panggilan canvas dan API perangkat keras.
Bagaimana cara mendapatkan kode hex dari RGB?
Ambil setiap nilai kanal (0-255), panggil `toString(16)` untuk mendapatkan representasi basis-16-nya, left-pad dengan nol menjadi 2 digit, dan gabungkan dengan `#` di depan. `rgb(255 87 51)` menjadi: `255 → 'ff'`, `87 → '57'`, `51 → '33'`, hasil `#ff5733`. Kapitalkan jika panduan gaya Anda mengharuskannya (`#FF5733`); kedua bentuk adalah CSS yang valid. Untuk RGB yang membawa alpha seperti `rgb(255 87 51 / 0.5)`, kalikan alpha dengan 255, bulatkan, dan tambahkan pasangan hex 2 digit yang dihasilkan: `0,5 × 255 = 128 = 0x80`, hasil `#ff573380`. Alat ini melakukan kedua transformasi secara otomatis.
Apa rumus RGB ke hex?
Untuk setiap kanal: `value.toString(16).padStart(2, '0')`. `toString(16)` mengonversi integer ke representasi basis-16-nya; `padStart(2, '0')` memastikan hasilnya tepat 2 karakter (diperlukan untuk nilai di bawah 16, yang sebaliknya akan diserialisasi sebagai 1 karakter). Gabungkan ketiga hasil, tambahkan `#` di depan, dan Anda memiliki hex kanonik. Secara matematis: untuk kanal `n` di `[0, 255]`, digit hex adalah `Math.floor(n / 16)` dan `n % 16` dipetakan melalui `'0123456789abcdef'`. Tidak ada kehilangan pembulatan — 16² = 256, persis cocok dengan rentang byte 0-255 yang ditempati setiap kanal.
Apakah rgb(0,0,0) sama dengan #000000?
Ya — persis. `rgb(0, 0, 0)` dan `rgb(0 0 0)` (sintaks dipisah-spasi modern CSS Color 4) keduanya diserialisasi menjadi `#000000`, hitam murni dengan ketiga kanal pada nol. Setiap pasangan kanal mengenkode sebagai `00`, digabungkan ke hex 6 karakter `000000`. Kesetaraan yang sama berlaku di ekstrem lain: `rgb(255, 255, 255)` ↔ `#FFFFFF` (putih murni). Setiap triple RGB memiliki tepat satu representasi hex 6 digit kanonik, dan setiap hex 6 digit memiliki tepat satu triple RGB — pemetaannya bersifat bijektif di seluruh ruang sRGB 16.777.216 warna.
Bisakah RGB memiliki kanal alpha?
Bisa — gunakan bentuk warisan `rgba()` `rgba(255, 87, 51, 0.5)` atau sintaks slash CSS Color 4 modern `rgb(255 87 51 / 0.5)`. Keduanya mengkodekan float alpha dari 0 (sepenuhnya transparan) hingga 1 (sepenuhnya opak). Saat mengonversi ke hex, alpha menjadi pasangan 2 digit ke-4 yang ditambahkan setelah RGB: kalikan dengan 255, bulatkan, enkode-hex. `0,5 × 255 = 128 = 0x80`, sehingga `rgb(255 87 51 / 0.5)` menjadi `#FF573380`. Hex 8 digit dengan alpha dirilis di semua peramban evergreen pada 2018; sebelum itu, bentuk `rgba()` adalah satu-satunya cara untuk mengekspresikan alpha di CSS.
Bagaimana hex dan RGB berbeda?
Keduanya mengkodekan warna yang sama dalam notasi yang berbeda. Hex mengemas tiga kanal 0-255 ke dalam string basis-16 6 karakter (`#FF5733`); `rgb()` mengejakan kanal-kanalnya dalam desimal (`rgb(255 87 51)`). Hex lebih pendek dan native-alat-desain — Figma, Sketch, Photoshop, dan setiap PDF panduan brand mengekspor hex secara default, dan sebagian besar developer front-end dapat mengenali `#3b82f6` sebagai Tailwind blue-500 dalam sekilas. RGB adalah pengalamatan-kanal eksplisit, lebih mudah untuk dihitung di JavaScript, dan satu-satunya bentuk yang menerima kanal persentase dan alpha bersintaks-native. Keduanya sama-sama CSS yang valid dan round-trip tanpa kehilangan.
Seberapa akurat RGB ke hex?
Bit-eksak. RGB → hex adalah matematika integer-ke-string tanpa keterlibatan float: `toString(16).padStart(2, '0')` menghasilkan pasangan hex 2 digit kanonik untuk setiap nilai di 0-255, dan kebalikannya (`parseInt(pair, 16)`) memulihkan integer asli dengan persis. Round-trip RGB → HEX → RGB → HEX menghasilkan tuple asli secara harfiah, tanpa batas. 16² = 256, persis cocok dengan rentang byte, sehingga tidak ada kehilangan pembulatan di kedua arah. Input RGB persentase dibulatkan ke integer terdekat terlebih dahulu (`50% × 255 / 100 = 127,5 → 128`), yang merupakan aturan normalisasi CSS Color 4 standar.