Renk Dönüştürücü
HEX, RGB ve HSL biçimleri arasında dönüşüm yapın
Renk Kodları Nedir? HEX, RGB ve HSL
Ekranlardaki renkler; kırmızı (R), yeşil (G) ve mavi (B) ışığın karışımıyla oluşur. Web tasarımı, grafik, mobil uygulama ve baskı öncesi hazırlıkta aynı rengi farklı yazım biçimleriyle ifade edebilirsiniz. Renk dönüştürücü, bu biçimler arasında hatasız çeviri yapmanızı sağlar. Bir tasarım dosyasından aldığınız HEX kodunu CSS'te HSL'ye çevirmek ya da bir müşterinin verdiği RGB değerini HEX'e dönüştürmek en sık karşılaşılan senaryolardır.
| Biçim | Yazım | Değer aralığı | Örnek (turuncu-kırmızı) |
|---|---|---|---|
| HEX | #RRGGBB | 00 - FF (onaltılık) | #FF5733 |
| RGB | rgb(r, g, b) | 0 - 255 | rgb(255, 87, 51) |
| HSL | hsl(h, s%, l%) | H: 0-360, S ve L: 0-100% | hsl(11, 100%, 60%) |
- HEX: Her kanal iki onaltılık basamakla yazılır. 3 haneli kısa yazım (
#F60) her basamağı ikiye katlar ve#FF6600anlamına gelir. - RGB: Üç kanalın 0-255 arası onluk değerleridir. 0 kanalın kapalı, 255 tam açık olduğunu gösterir.
- HSL: Ton (hue, renk çemberindeki derece), doygunluk (saturation) ve açıklık (lightness) değerleridir. İnsan gözüne daha sezgiseldir; bir rengi koyulaştırmak için yalnızca açıklığı düşürmek yeterlidir.
HEX, RGB ve HSL Nasıl Dönüştürülür?
HEX'ten RGB'ye
HEX kodu ikişerli üç parçaya ayrılır ve her parça onaltılıktan onluk tabana çevrilir. Formül: değer = ilk basamak × 16 + ikinci basamak (A=10, B=11, C=12, D=13, E=14, F=15).
RGB'den HSL'ye
r, g, b değerlerini 255'e bölün. M = en büyük, m = en küçük kanal, d = M - m.
L = (M + m) ÷ 2
S = d ÷ (1 - |2L - 1|) (d = 0 ise S = 0)
H = en büyük kanala göre 60° × ((diğer iki kanalın farkı) ÷ d); sonuç 0-360 aralığına getirilir.
Renk Dönüştürme Örnekleri
Örnek 1: #FF5733 rengini RGB'ye çevirme
FF = 15 × 16 + 15 = 255, 57 = 5 × 16 + 7 = 87, 33 = 3 × 16 + 3 = 51. Sonuç: rgb(255, 87, 51). HSL karşılığı hsl(11, 100%, 60%) olur; en büyük kanal kırmızı, ton 11° (kırmızıya yakın turuncu), açıklık (255 + 51) ÷ 2 ÷ 255 = %60'tır.
Örnek 2: rgb(37, 99, 235) değerini HEX'e çevirme
37 = 2 × 16 + 5 → 25; 99 = 6 × 16 + 3 → 63; 235 = 14 × 16 + 11 → EB. Sonuç: #2563EB. HSL karşılığı hsl(221, 83%, 53%), yani canlı bir mavidir.
Örnek 3: Gri tonları
#808080 kodunda üç kanal da 128'dir. Kanallar eşit olduğunda d = 0 olur; doygunluk %0, ton anlamsızdır. Sonuç rgb(128, 128, 128) ve hsl(0, 0%, 50%), yani tam orta gridir.
Örnek 4: Mor tonu
#8B5CF6 kodu 8B = 139, 5C = 92, F6 = 246 olduğundan rgb(139, 92, 246) ve hsl(258, 90%, 66%) değerine denk gelir. Bu rengin koyu bir versiyonu için HSL'de açıklığı %66'dan %45'e indirmeniz yeterlidir; HEX ile aynı işlem için üç kanalı ayrı ayrı hesaplamanız gerekirdi.
Sık Kullanılan Renkler
| Renk | HEX | RGB | HSL |
|---|---|---|---|
| Siyah | #000000 | 0, 0, 0 | 0, 0%, 0% |
| Beyaz | #FFFFFF | 255, 255, 255 | 0, 0%, 100% |
| Kırmızı | #FF0000 | 255, 0, 0 | 0, 100%, 50% |
| Yeşil (lime) | #00FF00 | 0, 255, 0 | 120, 100%, 50% |
| Mavi | #0000FF | 0, 0, 255 | 240, 100%, 50% |
| Turuncu | #FFA500 | 255, 165, 0 | 39, 100%, 50% |
| Gri | #808080 | 128, 128, 128 | 0, 0%, 50% |
Hangi Durumda Hangi Biçim?
- HEX: CSS, tasarım araçları ve marka rehberlerinde en yaygın biçimdir; kısa ve kopyalaması kolaydır.
- RGB: Programlama dillerinde piksel işlemleri ve yarı saydam renkler (
rgba()) için uygundur. - HSL: Aynı rengin açık/koyu varyasyonlarını, hover durumlarını ve tema paletlerini üretmek için en pratik biçimdir.
Sık Yapılan Hatalar
- Yuvarlama farkları: HSL değerleri tam sayıya yuvarlandığı için HEX → HSL → HEX dönüşümünde bir kanalda ±1 fark çıkabilir. Orijinal rengi mümkünse HEX olarak saklayın.
- Kısa HEX'i yanlış açmak:
#F60,#F60000değil#FF6600demektir. - Alfa kanalını unutmak: Saydamlık için 8 haneli HEX (
#RRGGBBAA) veyargba()kullanılır; bu araç saydamlıksız çalışır. - Doygunluk ve açıklığı karıştırmak: Açıklık %100 olduğunda doygunluk ne olursa olsun renk beyazdır, %0'da ise siyahtır.
- Erişilebilirlik kontrolünü atlamak: Metin ve arka plan renkleri arasında yeterli kontrast bulunmalıdır. WCAG yönergeleri normal metin için en az 4,5:1 kontrast oranı önerir.
- Ekran ile baskı farkını göz ardı etmek: RGB ekran için, baskı için ise genellikle CMYK kullanılır; aynı kod basılı üründe farklı görünebilir.
Birlikte Kullanabileceğiniz Araçlar
Tasarım sürecinde kullanacağınız metinlerin uzunluğunu kelime sayacı ile kontrol edebilir, görselleri Data URI olarak gömmek için Base64 aracını kullanabilir, hesap ve oturum bilgileriniz için şifre üretici ile güvenli parola üretebilirsiniz. Renk erişilebilirliği ve kontrast oranları hakkında W3C WCAG hızlı başvuru sayfasına bakabilirsiniz.
Sıkça Sorulan Sorular
HEX kodunu ikişerli üç parçaya bölüp her birini onluk tabana çevirin. Örneğin #FF5733 için FF = 255, 57 = 87, 33 = 51 olduğundan sonuç rgb(255, 87, 51) olur.
HSL; ton, doygunluk ve açıklık değerlerinden oluşan bir renk modelidir. Bir rengin açık veya koyu tonlarını üretmek için sadece açıklığı değiştirmek yeterli olduğundan tasarım paletleri hazırlarken pratiktir.
Her basamağın tekrarlanmasıyla uzun forma çevrilir: #F60, #FF6600 demektir. Yalnızca her kanal çifti aynı rakamlardan oluşuyorsa kısa yazılabilir.
Hayır, araç HEX, RGB ve HSL biçimlerini saydamlıksız dönüştürür. Saydamlık gerekiyorsa sonucu rgba() veya 8 haneli HEX biçimine kendiniz uyarlayabilirsiniz.
HSL değerleri tam sayıya yuvarlanır. Bu yüzden HEX'ten HSL'ye ve geri dönüşte bir kanalda 1 birimlik sapma görülebilir. Kesin rengi HEX olarak saklamak daha güvenlidir.
Üç biçim de CSS tarafından desteklenir. Marka renkleri için HEX, varyasyon ve tema üretimi için HSL, saydamlık gereken yerlerde rgba() tercih edilir.
W3C WCAG 2.1 AA seviyesi, normal boyuttaki metin için metin ve arka plan arasında en az 4,5:1, büyük metin için 3:1 kontrast oranı ister.