Alat yang Anda butuhkan, siap dipakai

Konverter Kode Warna Massal

Tempel daftar kode warna atau teks CSS, SCSS, dan JSON, lalu alat ini mencari warna di setiap baris dan mengubahnya sekaligus ke format pilihan Anda. Contoh di layar awal berisi sepuluh baris campuran HEX, rgb(), hsl(), oklch(), Display P3, dan nama warna. Jika diubah ke RGB, #3498DB menjadi rgb(52, 152, 219) dan #00000080 yang beralfa menjadi rgba(0, 0, 0, 0.5). Nama variabel dan komentar tetap ada, dan tersedia juga penggabungan warna sama, pengurutan, serta penyimpanan Excel dan CSV.

Terakhir diperbarui 2026-10-20Semua perhitungan terjadi di browser Anda
Format tujuan
Hasil
Palet
    Hasil konversi
    
          

    Teks dan file yang Anda masukkan tidak dikirim ke server, hanya diubah di peramban ini.

    Kartu warna

      Terakhir diperbarui 2026-10-20Masukan Anda tidak disimpan

      Standar ROBERINAlat yang Anda butuhkan,
      siap dipakai.
      • Jelas sekilasPosisi input dan hasil terlihat jelas.
      • Hasil lebih duluAngka utama tampil dulu; prosesnya hanya saat dibutuhkan.
      • Minta lebih sedikitTanpa pendaftaran atau data yang tidak perlu.

      Tempel daftar kode warna atau CSS, dan hanya warnanya yang diubah sekaligus

      Konverter Kode Warna Massal adalah alat yang mencari warna di dalam teks yang Anda tempel, lalu mengubah semuanya sekaligus ke format pilihan Anda: HEX, RGB, HSL, atau OKLCH. Daftar dengan satu warna per baris dapat langsung dimasukkan, begitu pula teks yang warnanya bercampur dengan nama dan simbol, seperti berkas CSS, SCSS, atau JSON token desain. Jika contoh di atas diubah ke RGB, nilai variabel --brand, yaitu #3498DB, menjadi rgb(52, 152, 219), sedangkan #00000080 yang memiliki alfa menjadi rgba(0, 0, 0, 0.5). Dengan hasil "Teks asli", nama variabel, komentar, dan indentasi tetap ada dan hanya nilai warnanya yang diganti. Dengan "Nilai per baris", alat ini menulis nilai warna yang ditemukan sebagai daftar.

      Di kolom input, setiap baris diberi contoh warna yang ditemukan di sisi kiri, dan baris yang tidak terbaca diberi tanda seru. Palet di bagian atas menampilkan semua warna yang ditemukan sekaligus, sedangkan kartu warna di bawahnya menampilkan nilai HEX, RGB, HSL, dan OKLCH dari satu warna dan dapat disalin dengan satu ketukan. Jika urutan diganti menjadi urut rona atau urut terang, atau jika "Gabung duplikat" diaktifkan, contoh warna di palet bergeser ke posisi barunya sehingga warna yang berulang dan warna yang mirip mudah terlihat. Teks dan file yang Anda masukkan tidak dikirim ke server dan hanya diproses di peramban ini.

      Kapan perlu mengubah kode warna sekaligus

      • Memindahkan warna Tailwind CSS v4 ke HEX: Tailwind CSS v4 mendefinisikan palet warna bawaannya dengan nilai oklch(). Jika warna yang sama harus dipakai di tempat yang hanya menerima HEX atau RGB, seperti templat email, dokumen, atau alat desain lama, tempel saja baris variabel tema apa adanya lalu ubah ke HEX.
      • Menyerahkan tabel warna dari desain ke kode: Kadang warna merek yang diberikan desainer dalam daftar HEX perlu dipakai pengembang sebagai rgb() atau hsl(), atau sebaliknya, nilai rgb() di kode perlu dimasukkan ke alat desain sebagai HEX. Baris yang memiliki nama tetap mempertahankan namanya, sehingga Anda tidak bingung warna itu milik variabel yang mana.
      • Mengubah CSS lama ke OKLCH: OKLCH menulis warna dengan kecerahan, kroma, dan sudut rona, sehingga lebih mudah menyamakan kecerahan beberapa warna atau membuat warna bertingkat. Jika berkas CSS ditempel lalu diubah ke OKLCH, selektor dan properti tetap sama dan hanya nilainya yang berganti ke penulisan baru.
      • Merapikan warna yang tersebar: Stylesheet yang diubah banyak orang sering berisi warna yang sama dengan penulisan berbeda, seperti #3498db, #3498DB, dan rgb(52, 152, 219). Jika "Gabung duplikat" diaktifkan, Anda bisa melihat berapa kali warna itu muncul dan di baris mana, dan jika diurutkan menurut rona, warna yang nyaris sama berdampingan sehingga kandidat untuk digabungkan mudah dipilih.
      • Mengubah tiga kolom R, G, dan B di spreadsheet: Jika tiga sel R, G, dan B disalin dari tabel lalu ditempel, satu baris berisi tiga angka yang dipisahkan tab. Baris ini juga dibaca sebagai warna, sehingga daftar HEX dapat langsung dibuat.

      Aturan pencarian warna

      1. Jika satu baris penuh adalah satu nilai: Alat ini membaca HEX dengan # (3, 4, 6, atau 8 digit), rgb(), rgba(), hsl(), hsla(), hwb(), lab(), lch(), oklab(), oklch(), color(), dan nama warna CSS (148 nama seperti tomato dan rebeccapurple). Jika seluruh teks adalah daftar dengan satu nilai per baris (tanpa kurung kurawal, kurung siku, titik dua, tanda sama dengan, dan titik koma), HEX tanpa "#" dan R, G, B juga diterima. HEX tanpa "#" diterima untuk 3 dan 6 digit, sedangkan 8 digit hanya diterima jika memuat setidaknya satu huruf a sampai f. Delapan digit yang hanya berupa angka, seperti 20241020, mungkin sebuah tanggal sehingga tidak dianggap warna. Tiga bilangan bulat seperti 12, 34, 56 atau yang dipisahkan tab dibaca sebagai R, G, dan B.
      2. Jika warna tercampur di dalam teks: Alat ini mencari semua HEX yang diawali # dan semua fungsi warna di dalam baris. Walaupun ada bersama nilai lain, seperti border: 1px solid #ddd;, hanya bagian warnanya yang diubah, dan jika satu baris memuat dua warna atau lebih, masing-masing diubah. Nama warna diubah jika hanya nama itu yang ada di dalam tanda kutip, seperti "danger": "crimson", atau jika berupa kata di dalam sebuah nilai, seperti border: 1px solid red !important;. Kata di dalam komentar, kunci JSON, dan bagian dari kata lain seperti .red-button tidak diubah.
      3. Hanya posisi nilai yang diubah: Selektor ID yang hanya terdiri dari huruf HEX, seperti #add, #bad, dan #face, bentuknya sama dengan warna. Karena itu, pada teks yang memuat kurung kurawal (CSS, SCSS, JSON, dan berkas konfigurasi), hanya nilai # di posisi nilai yang diubah. Posisi nilai berarti ada titik dua (:) atau tanda sama dengan (=) setelah {, }, atau ; terdekat di depannya. Selektor dan bagian awal @media yang langsung bersambung ke { tanpa titik dua, serta nilai di dalam url(#…), dibiarkan. Pada a:hover #add { color: #fff; } hanya #fff yang berubah.
      4. Pemberian nama: Jika ada nama di awal baris, seperti --brand: …, $brand: …, "brand": …, atau brand = …, nama itu ditulis di kartu warna dan tabel. Nama properti CSS seperti color, background, dan border bukan nama warna sehingga tidak ditulis.
      5. Baris yang tidak terbaca: HEX dengan jumlah digit yang salah (#12345), angka R, G, B di luar rentang (256, 0, 0), dan fungsi dengan jumlah nilai atau satuan yang salah di dalam kurung ditandai sebagai kesalahan, dan teks aslinya dibiarkan di hasil. Jika seluruh teks adalah daftar, baris pendek berisi satu atau dua kata tanpa simbol kode juga ditandai sebagai nilai yang salah tulis. Pada teks yang bercampur dengan kode (CSS, JSON), baris @import, komentar, dan baris tanpa warna seperti margin: 0; tidak dianggap kesalahan dan dilewati begitu saja.

      Cara penulisan tiap format

      FormatHasil untuk #3498DBHasil untuk #00000080Aturan penulisan
      HEX#3498DB#00000080Huruf kapital, dua digit per kanal, 8 digit jika ada alfa
      RGBrgb(52, 152, 219)rgba(0, 0, 0, 0.5)Bilangan bulat 0~255, dipisahkan koma
      HSLhsl(204.1, 69.9%, 53.1%)hsla(0, 0%, 0%, 0.5)Sudut rona, saturasi, dan kecerahan masing-masing satu desimal
      OKLCHoklch(65.31% 0.1347 242.687)oklch(0% 0 0 / 0.5)L dalam % dua desimal, C lima desimal, H tiga desimal

      RGB dan HSL ditulis dengan penulisan lama yang dipisahkan koma. CSS terbaru juga membaca penulisan dengan spasi seperti rgb(52 152 219), tetapi penulisan dengan koma dapat dibaca juga oleh peramban lama dan sebagian besar alat desain. Nol di belakang dihapus, sehingga ditulis seperti hsl(32, 100%, 50%).

      HSL dan OKLCH tidak dibulatkan ke bilangan bulat, karena bila ditulis sebagai bilangan bulat, warnanya sering kembali menjadi warna yang berbeda dari aslinya. Misalnya, jika #3498DB ditulis sebagai hsl(204, 70%, 53%) lalu dibaca lagi, hasilnya adalah #3398DB. Dengan jumlah digit seperti pada tabel di atas, seluruh 16.777.216 warna sRGB 8 bit kembali menjadi HEX yang sama dengan semula saat dibaca ulang. Jika C pada OKLCH hanya ditulis sampai desimal keempat, 94 dari 140.608 warna sampel bergeser satu tingkat, sehingga C ditulis sampai desimal kelima.

      Contoh: sepuluh baris di layar awal diubah ke RGB

      BarisInputHasil RGBKeterangan
      1/* Warna merek */Tidak berubahBaris komentar tanpa warna
      2--brand: #3498DB;rgb(52, 152, 219)34, 98, dan DB diubah ke desimal
      3--accent: #f80;rgb(255, 136, 0)3 digit: tiap digit diulang dua kali menjadi #FF8800
      4--ink: rgb(12 34 56);rgb(12, 34, 56)Penulisan dengan spasi menjadi penulisan dengan koma
      5--muted: hsl(210 15% 60%);rgb(138, 153, 168)HSL dihitung ke sRGB
      6--mint: oklch(78% 0.13 170);rgb(76, 210, 171)Warna OKLCH yang masih di dalam sRGB
      7--vivid: color(display-p3 1 0.2 0.1);rgb(255, 52, 30)Di luar sRGB, jadi disesuaikan ke warna terdekat
      8--overlay: #00000080;rgba(0, 0, 0, 0.5)80 di akhir adalah alfa
      9--link: #3498db;rgb(52, 152, 219)Warna yang sama dengan baris 2
      10tomatorgb(255, 99, 71)Nama warna CSS

      Pada contoh ini ditemukan 9 warna, dan karena baris 2 dan 9 berwarna sama, warna yang berbeda ada 8. Jika "Gabung duplikat" diaktifkan, #3498DB hanya tersisa satu kali di palet dan kartu warna, dengan tambahan ×2 serta nomor baris 2 dan 9. Jika hasil diubah menjadi "Nilai per baris", baris komentar dan nama variabel hilang, dan hanya tersisa 9 nilai rgb() (8 jika digabung).

      Warna di luar sRGB disesuaikan ke warna terdekat

      HEX dan RGB hanya dapat menulis nilai dalam ruang warna sRGB. Warna yang ditulis dengan OKLCH, lab(), atau color(display-p3 …) dapat mencakup rentang yang lebih luas daripada sRGB, sehingga warna yang sangat cerah tidak dapat dipindahkan ke HEX apa adanya. Saat warna seperti itu dikeluarkan sebagai HEX, RGB, atau HSL, alat ini mengikuti metode pemetaan gamut W3C CSS Color 4. Di OKLCH, kecerahan dan sudut rona dibiarkan, hanya kroma yang diturunkan dengan pencarian biner, dan proses berhenti ketika selisih dengan warna yang dipotong ke nilai batas sRGB (deltaEOK) lebih kecil dari 0.02, yaitu selisih yang nyaris tidak terlihat oleh mata. Cara ini menggeser sudut rona lebih sedikit daripada sekadar memotong setiap kanal ke 0~255.

      Warna Tailwind v4Nilai oklch di dokumentasiHasil HEXDi dalam sRGB
      red-500oklch(63.7% 0.237 25.331)#FB2C36Dalam
      sky-500oklch(68.5% 0.169 237.323)#00A6F4Luar, disesuaikan
      emerald-500oklch(69.6% 0.17 162.48)#00BC7DLuar, disesuaikan
      blue-600oklch(54.6% 0.245 262.881)#155DFCDalam
      violet-500oklch(60.6% 0.25 292.717)#8E51FFLuar, disesuaikan

      Warna di luar sRGB diberi tanda "Luar sRGB" di kartu warna, dan contoh warnanya diisi warna asli di bagian atas dan warna yang disesuaikan di bagian bawah. Di layar yang mendukung gamut lebar, bagian atas terlihat lebih cerah. Saat diubah ke OKLCH, warna tidak disesuaikan dan nilai aslinya ditulis apa adanya. Karena itu, agar warna gamut lebar tidak hilang, cara yang aman adalah memakai hasil OKLCH dan menyimpan HEX sebagai nilai cadangan untuk layar sRGB.

      Alfa dipindahkan ke HEX 8 digit dan rgba()

      Dua digit terakhir pada HEX 8 digit dan satu digit terakhir pada HEX 4 digit adalah alfa (opasitas). Nilai 00 berarti sepenuhnya transparan dan FF berarti buram penuh. Alat ini menyesuaikan alfa ke tingkat 0~255, lalu memilih angka yang ditulis di rgba(), hsla(), dan oklch() sesuai ketentuan CSS Color 4. Jika ada bilangan bulat 0~100 yang menghasilkan tingkat itu saat dikalikan 2,55 dan dibulatkan, bilangan itu dibagi 100 lalu ditulis, dan jika tidak ada, angkanya ditulis sampai desimal ketiga. Karena itu, 80 (tingkat 128) ditulis sebagai 0.5, bukan 0.50196….

      Opasitas (alfa)Tingkat 0~255Dua digit akhir HEXAngka rgba()
      100%255FF (dihilangkan)rgb() tanpa alfa
      80%204CC0.8
      75%191BF0.75
      50%128800.5
      33%84540.33
      25%64400.25

      Kesalahan yang sering terjadi

      • Mengisi depan HEX 3 digit dengan 0: #f80 bukan #000F80, melainkan #FF8800 karena tiap digit ditulis dua kali. #f808 yang 4 digit juga menjadi #FF880088 dengan cara yang sama.
      • Memotong HSL menjadi bilangan bulat: Seperti terlihat di atas, hsl(204, 70%, 53%) bukan #3498DB, melainkan #3398DB. Jika nilai HSL bilangan bulat dari alat lain disalin apa adanya, HEX-nya bisa berbeda satu atau dua tingkat.
      • Nilai rgb() di luar rentang: CSS tidak menganggap rgb(300, 0, 0) sebagai nilai yang salah, melainkan memotongnya ke 255 dan menggambarnya sebagai rgb(255, 0, 0). Alat ini mengubahnya dengan cara yang sama dan menampilkan "Terpotong" di kartu warna. Tiga angka yang ditulis dengan koma (256, 0, 0) bukan sintaks CSS sehingga tidak dipotong dan diperlakukan sebagai kesalahan.
      • Angka tanpa "#": Empat atau delapan digit yang hanya berupa angka, seperti 2024, tidak dibaca sebagai warna. Untuk memakai HEX 4 digit, tambahkan #, misalnya #2024. Karena HEX tanpa "#" hanya dibaca dalam daftar, angka seperti 640 di dalam teks JSON tidak diubah menjadi warna.
      • Nama warna di dalam kata: red dan blue di dalam .red-button atau /* blue */ tidak diubah. Nama warna hanya diubah jika berupa satu baris penuh atau kata di posisi nilai.
      • Menempel hasil tanpa baris yang salah: Hasil "Nilai per baris" tidak memuat baris yang tidak terbaca, sehingga jumlah barisnya berbeda dari tabel asli. Jika baris harus sejajar, lihat nomor baris di status lalu perbaiki dahulu, atau pakai "Teks asli".

      Batasan dan hal yang perlu diperhatikan

      • Sekali proses dapat mengubah hingga 100.000 karakter dan 1.000 warna. Untuk berkas yang lebih besar, masukkan secara terpisah. "Buka file" hanya membaca file teks UTF-8.
      • var(--brand) dan color-mix() bergantung pada nilai lain, sehingga dibiarkan. Warna yang ditulis langsung di dalam color-mix(), seperti #fff, diubah satu per satu, sedangkan warna relatif seperti rgb(from …) dan fungsi warna yang memuat var() atau calc() ditandai sebagai nilai yang tidak terbaca. Kata kunci seperti currentColor dan inherit juga dibiarkan.
      • color() hanya membaca ruang warna srgb, srgb-linear, display-p3, dan xyz (xyz-d65 dan xyz-d50). a98-rgb, prophoto-rgb, dan rec2020 ditandai sebagai kesalahan.
      • Nilai HEX, RGB, dan HSL adalah warna yang dibulatkan ke sRGB 8 bit (0~255). Walaupun HEX-nya sama, tampilannya dapat berbeda tergantung pengaturan warna dan kecerahan layar.
      • HEX untuk warna di luar sRGB yang telah disesuaikan adalah nilai yang dihitung dengan metode CSS Color 4. Nilainya bisa berbeda satu atau dua tingkat dari cara peramban menggambar warna itu di layar gamut lebar atau cara alat lain memotongnya.
      • CMYK untuk cetak dan profil ICC tidak didukung. Untuk warna yang akan dicetak, gunakan konverter RGB ke CMYK, dan untuk melihat satu warna secara rinci, gunakan konverter HEX ke RGB.
      • Hasil HEX selalu ditulis dengan huruf kapital. Sel contoh warna di file Excel diwarnai tanpa alfa, dan alfanya ditulis di kolom catatan. CSV menaruh apostrof (') sebelum sel yang diawali =, +, - atau @ agar tidak dijalankan sebagai rumus, sehingga nama seperti --brand ditulis sebagai '--brand. Gunakan file Excel untuk mempertahankan nama persis seperti aslinya.
      • Ekspor CSV memakai titik koma (;) sebagai pemisah, sehingga aplikasi spreadsheet yang memakai koma sebagai pemisah desimal membukanya dalam kolom yang benar.

      Nilai dalam tabel artikel ini dihitung dengan alat ini pada 20 Oktober 2026. Rumus konversi dan pemetaan gamut mengikuti W3C CSS Color 4 Candidate Recommendation Draft (versi 9 Oktober 2026) dan tidak berubah dari tahun ke tahun. Nilai warna Tailwind diperiksa di dokumentasi Tailwind CSS pada hari yang sama, sehingga bisa berbeda jika Tailwind mengubah paletnya.

      Sumber

      Pertanyaan yang sering diajukan

      Bagaimana cara mengubah banyak kode warna sekaligus?

      Tempel kode warna satu per baris, atau masukkan isi berkas CSS atau JSON apa adanya, lalu pilih format tujuan di bagian atas: HEX, RGB, HSL, atau OKLCH. Kolom hasil langsung berubah dan dapat diambil dengan tombol Salin hasil atau Simpan file. Sekali proses dapat mengubah hingga 100.000 karakter dan 1.000 warna.

      Bolehkah berkas CSS ditempel apa adanya?

      Boleh. Jika hasil diatur ke "Teks asli", selektor, nama variabel, komentar, dan indentasi tetap sama dan hanya nilai warnanya yang diganti. Selektor ID yang hanya terdiri dari huruf HEX seperti #add, bagian awal @media, dan nilai di dalam url(#…) bukan posisi nilai, sehingga tidak diubah. Berkas .css, .scss, dan .json juga dapat dibuka dengan Buka file.

      Bisakah warna oklch Tailwind CSS v4 diubah ke HEX?

      Bisa. Tempel baris variabel tema lalu pilih HEX. red-500 oklch(63.7% 0.237 25.331) di dokumentasi Tailwind menjadi #FB2C36. Warna yang berada di luar sRGB, seperti sky-500, ditulis dengan warna sRGB terdekat (#00A6F4) hasil pemetaan gamut CSS Color 4 dan diberi tanda "Luar sRGB" di kartu warna.

      Apa arti dua digit terakhir pada HEX 8 digit?

      Itu adalah alfa (opasitas). Nilai 00 berarti sepenuhnya transparan dan FF berarti buram. Angka 80 pada #00000080 adalah 128 dari 255 tingkat, sehingga hasilnya rgba(0, 0, 0, 0.5). Saat diubah ke RGB, HSL, atau OKLCH, alfa ikut dipindahkan.

      Mengapa #f80 menjadi #FF8800?

      Karena HEX 3 digit diperluas menjadi 6 digit dengan mengulang setiap digit dua kali. f menjadi FF, 8 menjadi 88, dan 0 menjadi 00, sehingga hasilnya #FF8800, atau rgb(255, 136, 0) dalam RGB. Warna ini sama sekali berbeda dari #000F80 yang depannya diisi 0.

      Mengapa nilai HSL memakai desimal?

      Karena bila dibulatkan ke bilangan bulat, warna sering berbeda saat dibaca kembali. Jika #3498DB ditulis sebagai hsl(204, 70%, 53%), hasilnya kembali menjadi #3398DB. Dengan satu desimal seperti pada alat ini, seluruh 16.777.216 warna sRGB 8 bit kembali menjadi HEX yang sama.

      Bagaimana jika warna yang sama muncul berkali-kali?

      Jika "Gabung duplikat" diaktifkan, warna yang sama (RGB 8 bit dan alfa yang sama) digabung menjadi satu walaupun penulisannya berbeda, dengan jumlah dan nomor barisnya. Penggabungan berlaku untuk palet, kartu warna, hasil "Nilai per baris", serta Excel dan CSV, sedangkan hasil "Teks asli" tetap mempertahankan semua baris asli.

      Apakah kode warna atau file yang saya masukkan dikirim ke server?

      Tidak. Teks yang ditempel dan file yang dibuka hanya dibaca dan diubah di dalam peramban ini, tanpa dikirim atau disimpan di server. Isi input hilang saat halaman ditutup, jadi salin hasil yang diperlukan atau simpan sebagai file.