Konverter HEX ke HSL adalah utilitas kecil yang mengubah kode warna hex (`#3b82f6`) menjadi triple silindris Hue / Saturation / Lightness yang mengkodekan warna sRGB yang sama (`hsl(217 91% 60%)`). Kode hex adalah string basis-16 ringkas yang ditempel desainer dan developer di antara Figma, Sketch, Photoshop, PDF panduan brand, dan stylesheet CSS — tiga kanal 8-bit dikemas ke dalam bentuk `#RRGGBB` 6-karakter, berlabuh ke ruang warna sRGB yang didefinisikan oleh IEC 61966-2-1 pada 1996. HSL adalah pembentukan ulang silindris dari ruang warna yang sama menjadi tiga sumbu yang lebih ramah-desainer: sudut rona pada roda warna, persen saturasi kromatik, dan persen lightness. Developer mengonversi HEX → HSL terus-menerus: untuk mendefinisikan warna brand sebagai variabel CSS dan kemudian menyusun shade yang lebih terang atau lebih gelap dengan menyesuaikan hanya L, untuk memasukkan ke UI pemilih warna yang menampilkan Hue dan SL sebagai kontrol terpisah, untuk menghasilkan ramp tint dan shade untuk sistem desain, atau untuk melakukan matematika variabel CSS runtime melalui `hsl(from var(--primary) h s calc(l + 10%))` untuk token tema turunan. Alat ini menjalankan konversi secara langsung saat Anda mengetik, tanpa tombol "Konversi" untuk diklik, dan memunculkan setiap format warna umum lainnya (RGB, OKLCH, OKLAB, HSV, HWB, CMYK, ditambah 148 nama warna CSS) berdampingan dengan output HSL secara gratis.
**Format HSL sendiri layak dilihat lebih dekat.** HSL = Hue (0-360°), Saturation (0-100%), Lightness (0-100%). Hue adalah posisi sudut pada roda warna — 0° adalah merah, 60° adalah kuning, 120° adalah hijau, 180° adalah cyan, 240° adalah biru, 300° adalah magenta, dan 360° membungkus kembali ke merah. Saturation adalah intensitas kromatik dari 0% (abu-abu akromatik) hingga 100% (sepenuhnya kromatik tanpa konten abu-abu). Lightness adalah kecerahan dari 0% (hitam murni, terlepas dari rona atau saturasi) melalui 50% (rona murni pada chroma penuh) ke 100% (putih murni, terlepas dari rona atau saturasi). Alvy Ray Smith menerbitkan derivasi asli pada 1978 sebagai bagian dari dorongan grafis-komputer awal untuk memberi desainer sistem koordinat yang lebih dekat dengan model kognitif warna mereka dibandingkan pengalamatan kanal RGB mentah. Model ini telah ada di CSS sejak CSS3 (2010) dan dirilis di setiap peramban hingga IE 9. Sintaks CSS asli menggunakan koma: `hsl(217, 91%, 60%)` untuk opak, `hsla(217, 91%, 60%, 0.5)` untuk yang membawa alpha. CSS Color 4 (W3C Candidate Recommendation sejak 2022) menambahkan bentuk dipisah-spasi modern: `hsl(217 91% 60%)` dan `hsl(217 91% 60% / 0.5)` dengan alpha berawalan-slash — bentuk sintaks yang sama dengan notasi fungsional CSS Color 4 lainnya (`rgb()`, `lab()`, `oklch()`, `color()`). Rona juga dapat diekspresikan dalam putaran (`hsl(0.6turn 91% 60%)`) atau radian (`hsl(3.787rad 91% 60%)`), semua setara dengan bentuk derajat kanonik. Setiap peramban evergreen mengurai setiap rasa sintaksis; alat memancarkan bentuk dipisah-spasi modern secara default.
Matematika konversi berjalan kedua arah secara bersih. **HEX → HSL** adalah pipeline dua-langkah. Pertama, urai hex 6 digit `#RRGGBB` sebagai tiga angka basis-16 2 digit melalui `parseInt(hex.slice(1, 3), 16)` dst. untuk mendapatkan kanal RGB integer dalam 0-255. Kedua, normalkan setiap kanal ke 0-1 dengan membagi dengan 255, lalu hitung `max = Math.max(r, g, b)`, `min = Math.min(r, g, b)`, `delta = max - min`. Lightness adalah rata-rata maks dan min: `L = (max + min) / 2`. Saturation kondisional pada lightness: ketika L ≤ 0,5, `S = delta / (max + min)`; ketika L > 0,5, `S = delta / (2 - max - min)`. Setara dalam bentuk CSS Color 4 §6.4, `S = delta / (1 - |2L - 1|)` (dengan S = 0 ketika delta = 0). Hue piecewise pada kanal mana yang maks: ketika R maks, `H = ((G - B) / delta) % 6`; ketika G maks, `H = (B - R) / delta + 2`; ketika B maks, `H = (R - G) / delta + 4`; kalikan dengan 60 untuk menskalakan ke derajat, tambahkan 360 jika negatif. Inversnya (HSL → HEX, melalui RGB) menggunakan helper `f(n) = L - a * max(-1, min(k-3, 9-k, 1))` di mana `a = S * min(L, 1-L)` dan `k = (n + H/30) mod 12`, diterapkan dengan n = 0, 8, 4 untuk menghasilkan R, G, B masing-masing, lalu diskalakan ke 0-255 dan dikodekan-hex.
**Mengapa HSL masih berguna.** Slider intuitif — menyesuaikan L mencerahkan atau menggelapkan secara dapat diprediksi tanpa merusak identitas rona, sedangkan menyesuaikan kanal RGB menghasilkan pergeseran warna yang kurang dapat diprediksi. Matematika CSS runtime — peramban modern mendukung `hsl(from var(--primary) h s calc(l + 10%))` untuk menurunkan token tema pada waktu render. Kognisi desainer — desainer yang dibesarkan dengan pemilih warna HSV memikirkan warna dalam istilah rona + chroma bahkan ketika file mengirim hex. **Masalah HSL** adalah bahwa sumbu Lightness-nya tidak seragam secara perseptual — hijau pada L=50% tampak lebih terang secara terlihat daripada biru pada L=50% karena HSL mewarisi kekhasan gamma sRGB dan memperlakukan setiap rona sebagai setara pada skala L. Ketika Anda membutuhkan keseragaman perseptual (generasi palet di mana setiap langkah harus tampak sama terang, perhitungan token mode-gelap yang tidak secara tidak sengaja membuat teks biru lebih sulit dibaca daripada teks hijau), gunakan OKLCH sebagai gantinya — alat yang sama memunculkan keduanya, sehingga pilihannya hanya sekali pandang.
Alur kerja HEX → HSL 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 hex dan HSL. Spoke arah-tunggal menargetkan intent pencarian Google tertentu: konverter hex ke RGB untuk arah canvas-dan-perangkat-keras, konverter RGB ke hex untuk inversnya, konverter hex ke OKLCH untuk sistem desain modern yang seragam secara perseptual (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 — kode hex Anda tidak pernah diunggah, tidak pernah dicatat, dan nol permintaan jaringan berjalan saat Anda mengetik. Verifikasi di DevTools.