Skip to content

HEX'ten OKLCH'ye Dönüştürücü

Tailwind v4 tasarım token'ları için HEX'i OKLCH'ye dönüştürün. Display P3 renk gamı uyarılarıyla canlı algısal olarak tekdüze çıktı. Ücretsiz, yalnızca tarayıcıda.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Tüm renk dönüşümü tarayıcınızda yerel olarak gerçekleşir. Hiçbir veri herhangi bir sunucuya gönderilmez.
Renk gamı: sRGB Display P3 Rec2020
Karşı kontrast:
AA AA-Lg AAA AAA-Lg · APCA Lc
Renk körlüğü simülasyonu (8 tür)
Protanopi (kırmızı-kör)
Döteranopi (yeşil-kör)
Tritanopi (mavi-kör)
Akromatopsi (tam)
Protanomali (kırmızı-zayıf)
Döteranomali (yeşil-zayıf)
Tritanomali (mavi-zayıf)
Akromatomali (kısmi)
Açık Tonlar / Koyu Tonlar / Gri Tonlar / Uyumlar

Açık Tonlar

Koyu Tonlar

Gri Tonlar

Uyumlar

Kod olarak kopyala
Yaygın renkler referansı
CSS Color 4 §11.2 + §15.1 uyumu, Ottosson 2020 OKLAB matris doğruluğu, Tailwind v4 palet eşliği, Display P3 / Rec.2020 renk gamı algılama doğruluğu ve 0-1 Lightness, 0-0.4 Chroma ve 0-360° Hue aralıklarında HEX ile OKLCH arasında gidiş-dönüş kararlılığı için incelendi. — Go Tools Mühendislik Ekibi · May 27, 2026

HEX'ten OKLCH'ye Dönüştürücü Nedir?

HEX'ten OKLCH'ye dönüştürücü, bir hex renk kodunu (`#3b82f6`) OKLCH uzayında aynı rengi kodlayan algısal olarak tekdüze Lightness / Chroma / Hue üçlüsüne (`oklch(0.629 0.193 263.4)`) çeviren küçük bir yardımcı programdır. Hex kodları, tasarımcıların ve geliştiricilerin Figma, Sketch, Photoshop, marka kılavuzu PDF'leri ve CSS stil sayfaları arasında yapıştırdığı kısa taban-16 dizgeleridir — 1996'da IEC 61966-2-1 tarafından tanımlanan sRGB renk uzayına çapalanan, 6 karakterlik bir `#RRGGBB` biçimine paketlenmiş üç 8-bit kanal. OKLCH, Björn Ottosson'un 2020 algısal olarak tekdüze renk uzayı OKLAB'ın kutupsal biçimidir ve CSS'e CSS Color 4'te `oklch()` sözdizimi aracılığıyla eklenmiştir (2022'den beri W3C Aday Önerisi). Kanallar Lightness (0-1, ayrıca 0-100% olarak da yazılabilir), Chroma (en doygun sRGB renkleri için 0 ile yaklaşık 0,4 arasında, geniş renk gamlı renkler için üst sınırı yoktur) ve Hue'dur (0-360°, HSL'nin kullandığı aynı açısal eksen). Tarayıcı desteği, Mart 2022 (Safari 15.4) ile Mayıs 2023 (Firefox 113) arasında, ortada Chrome 111 (Mart 2023) ile tüm yaşayan tarayıcılarda indi — birleşik caniuse kapsamı %94'ün üzerindedir. Örnek: Tailwind blue-500, `oklch(0.629 0.193 263.4)`'tür.

**Algısal tekdüzelik — neden önemli.** OKLCH'de (ve onun dikdörtgen kuzeni OKLAB'da), L kanalında eşit sayısal mesafe parlaklıkta eşit algılanan mesafeye karşılık gelir — her renk tonunda, her chroma seviyesinde, renk uzayının her bölgesinde. HSL'de eşit L değerleri renk tonları arasında eşitsiz parlak görünür çünkü HSL sRGB'nin gamma tuhaflıklarını miras alır: `hsl(120 100% 50%)`'deki yeşil, `hsl(240 100% 50%)`'deki maviden, her ikisi de L=%50 bildirse bile gözle görülür biçimde daha parlak görünür. Yapısal neden, HSL'nin L'yi geometrik olarak (gamma kodlanmış sRGB'de kanal maks ve min'in ortalaması) türetmesi, OKLCH'nin ise L'yi önce doğrusallaştıran ve bir LMS koni-yanıt aşamasından yönlendiren algısal olarak çapalı bir modelden türetmesidir. Pratik sonuç: OKLCH'de renk tonları arasında L'yi sabit tutmak görsel olarak eşdeğer parlaklık üretir — `oklch(0.7 0.2 130)`'daki bir yeşil ve `oklch(0.7 0.2 250)`'deki bir mavi ekranda eşit derecede parlak görünür. Tailwind v4'ün varsayılan paletini 2025'te OKLCH tabanlı rampalara geçirmesinin nedeni budur — her renk tonu adımı (50, 100, 200, …, 900, 950) aynı algılanan açıklık farkına ulaşır, böylece marka renkleri renk tonu başına elle ayarlama olmadan renk tonları arasında tutarlı hissedilir.

**Tailwind v4 ve tasarım-token devrimi.** Tailwind v4 (Ocak 2025'te yayımlandı), HSL tabanlı renk üretimini OKLCH tabanlı bir sistemle değiştirdi. shadcn/ui kısa süre sonra takip etti ve CSS-değişken teması için OKLCH'yi benimsedi; Radix Colors v3 de bunu benimsedi. Neden şimdi: tasarım sistemleri tüm palet boyunca eşit aralıklı görünen tonlara ihtiyaç duyar ve palet büyüdükçe bu özelliğin otomatik olarak korunmasına ihtiyaç duyarlar. HSL ile tasarımcılar her renk adımını elle düzeltmek zorundaydı — mavi rampanın koyu ucundaki L'yi yeşil rampanın koyu ucuyla eşleştirmek için %5 fazladan artırmak, ardından marka geliştiğinde yeniden artırmak. OKLCH ile tek bir formül (L'yi 0.1 adımla, C ve H sabit) otomatik olarak tutarlı rampalar üretir. Gerçek örnek: Tailwind v3'te, `red-500` ve `blue-500`, özdeş HSL L%'sine rağmen gözle görülür biçimde farklı algılanan ağırlıklara sahipti; v4'te, `red-500` ve `blue-500` dengeli görünür çünkü her ikisi de aynı OKLCH L'sindedir. Bu, erişilebilirlik (paylaşılan arka planlara karşı tutarlı kontrast, bileşen durumlarının palet boyunca tekdüze hissetmesi anlamına gelir), marka tutarlılığı (görsel hiyerarşi paletler boyunca korunur — aynı L'deki bir `primary` düğmesi ve bir `accent` düğmesi aynı hiyerarşi düzeyi gibi hissedilir) ve geliştirici ergonomisi (tasarım-token spesifikasyonunda gömülü düzinelerce elle ayarlanmış istisna yerine tek bir zihinsel model) için önemlidir.

**Geniş renk gamı çıkarımları.** OKLCH sınırsızdır — Display P3 ve Rec.2020'nin yeniden üretebileceği her şey dahil sRGB dışındaki renkleri temsil edebilir. Bu, onu modern geniş renk gamlı ekranlar için doğal seçim yapar. 2017'den beri çoğu Apple cihazı (iPhone 7 ve sonrası, MacBook Pro 2016 ve sonrası, her iPad Pro) Display P3'ü yerel olarak işler ve birçok modern Android cihazı ve dizüstü ekranı da bunu yapar. Karşılığında: her OKLCH üçlüsü geçerli bir sRGB rengine eşlenmez. Araç üç renk gamı rozeti gösterir — sRGB, Display P3, Rec.2020 — böylece geçerli OKLCH'nin belirli bir hedefte doğru şekilde görüntülenip görüntülenmeyeceğini hemen görebilirsiniz. Renk yalnızca sRGB olduğunda, **sRGB'ye Hizala** düğmesi, L ve H'yi korurken rengi renk gamına küçültmek için ikili chroma azaltma (CSS Color 4 §13'ün bilgilendirici renk gamı eşleme algoritmasına göre) kullanır — geniş renk gamlı istemciler için orijinal OKLCH değerinin yanında `@supports not (color: oklch(0 0 0))` aracılığıyla gönderebileceğiniz bir hex geri dönüşü verir.

**HEX → OKLCH dönüşüm matematiği.** Boru hattı iyi tanımlanmıştır ve iki birincil kaynağa dayanır: sRGB ve XYZ aşamaları için W3C CSS Color 4, OKLAB aşaması için Ottosson 2020. Birinci adım: kanal başına `parseInt(hex.slice(1, 3), 16)` aracılığıyla `#RRGGBB`'yi üç 8-bit tamsayı sRGB kanalına ayrıştırın. İkinci adım: 255'e bölerek her kanalı 0-1'e normalleştirin. Üçüncü adım: CSS Color 4 §11.2 parçalı işlevi (`v <= 0.04045 ? v/12.92 : ((v+0.055)/1.055)^2.4`) aracılığıyla doğrusal-sRGB'ye gamma-çöz. Dördüncü adım: CIE XYZ D65 koordinatlarını elde etmek için §15.1 3×3 matrisiyle çarpın. Beşinci adım: Ottosson'un LMS matrisiyle (2020 referans uygulamasından) çarpın ve her kanalın küp kökünü alın. Altıncı adım: L / a / b elde etmek için Ottosson'un OKLAB matrisiyle çarpın. Yedinci adım: Kartezyen-kutupsal — `C = sqrt(a² + b²); H = atan2(b, a) * 180 / π`, H'yi 0-360°'ye sarın. Tam boru hattı mikrosaniyelerde çalışır — her tuş vuruşu OKLCH çıktısını anında, debounce olmadan yeniden işler.

Bu aracın HEX → OKLCH iş akışı, hepsi aynı altyapıdaki birleşik renk dönüştürücüyü paylaşan 5 maçalı bir ailenin bir yönüdür. Özel birleşik renk dönüştürücü merkezdir — 9 biçimin tümünü eşzamanlı olarak düzenlenebilir gösterir ve iş akışınız yalnızca hex ve OKLCH'den fazlasına ihtiyaç duyduğunda doğru araçtır. Tek yönlü maçalar belirli Google arama amaçlarını hedefler: canvas-ve-donanım yönü için hex'ten RGB'ye dönüştürücü, tersi için RGB'den hex'e dönüştürücü, hâlâ birçok Tailwind v3 kod tabanında kullanılan eski tasarımcı-silindirik uzay için hex'ten HSL'ye dönüştürücü ve baskı hazırlık yaklaşımları için hex'ten CMYK'ya dönüştürücü. Beş maça ve merkez, dahili olarak aynı OKLCH kaynak-doğru yaklaşımını ve aynı Ottosson 2020 matrislerini paylaşır, böylece sonuçların aile genelinde aynı olması garanti edilir. Her dönüşüm tarayıcınızda yerel olarak çalışır — hex kodlarınız asla yüklenmez, asla kaydedilmez ve siz yazarken sıfır ağ isteği tetiklenir. DevTools'ta doğrulayın. Daha derin bir bakış için OKLCH renk uzayı açıklamasını okuyun.

// sRGB hex → OKLCH per W3C CSS Color 4 + Ottosson 2020
// References: https://www.w3.org/TR/css-color-4/#color-conversion-code
//             https://bottosson.github.io/posts/oklab/
// Worked example: #3b82f6 (Tailwind blue-500) → oklch(0.629 0.193 263.4)
function hexToOklch(hex) {
  const h = hex.trim().replace(/^#/, '');
  const srgb = [0, 2, 4].map(i => parseInt(h.slice(i, i + 2), 16) / 255);
  // sRGB → linear-sRGB (CSS Color 4 §11.2 piecewise gamma)
  const lin = srgb.map(v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4));
  const [lr, lg, lb] = lin;
  // linear-sRGB → XYZ D65 (CSS Color 4 §15.1 matrix)
  const x = 0.4124564 * lr + 0.3575761 * lg + 0.1804375 * lb;
  const y = 0.2126729 * lr + 0.7151522 * lg + 0.0721750 * lb;
  const z = 0.0193339 * lr + 0.1191920 * lg + 0.9503041 * lb;
  // XYZ D65 → LMS (Ottosson 2020), cube-root, → OKLAB
  const l_ = Math.cbrt(0.8189330101 * x + 0.3618667424 * y - 0.1288597137 * z);
  const m_ = Math.cbrt(0.0329845436 * x + 0.9293118715 * y + 0.0361456387 * z);
  const s_ = Math.cbrt(0.0482003018 * x + 0.2643662691 * y + 0.6338517070 * z);
  const L = 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_;
  const a = 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_;
  const b = 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_;
  // OKLAB → OKLCH (Cartesian to polar)
  const C = Math.sqrt(a * a + b * b);
  const H = (Math.atan2(b, a) * 180 / Math.PI + 360) % 360;
  return `oklch(${L.toFixed(3)} ${C.toFixed(3)} ${H.toFixed(1)})`;
}
console.log(hexToOklch('#3b82f6')); // → oklch(0.629 0.193 263.4)

Temel Özellikler

Tüm Renk Tonlarında Algısal Olarak Tekdüze Çıktı

OKLCH'nin L kanalı OKLAB algısal modeline (Ottosson 2020) çapalanır, böylece her L adımı her renk tonunda aynı parlaklık değişikliği gibi görünür — `oklch(0.7 0.2 130)`'daki bir yeşil ve `oklch(0.7 0.2 250)`'deki bir mavi ekranda eşit derecede parlak okunur. Bu, Tailwind v4'ün renk başına elle ayarlama olmadan otomatik olarak görsel olarak eşit rampalar üretmesini sağlayan yapısal özelliktir; eşdeğer HSL rampasının HSL'nin sRGB'nin gamma tuhaflıklarını miras almasından dolayı garanti edemediği aynı özellik.

Tailwind v4 Hazır — @theme Bloklarına Bırakın

OKLCH çıktısı, CSS Color 4'ün boşlukla ayrılmış biçimini kullanır (`oklch(0.629 0.193 263.4)`) — Tailwind v4'ün bir `@theme` bloğu içinde `--color-primary: oklch(0.629 0.193 263.4);` olarak beklediği tam sözdizimi. L hassasiyeti Tailwind'in yayımlanan palet hassasiyetiyle eşleşir (L ve C'de üç ondalık, H'de bir ondalık derece), bu nedenle yapılandırmaya yapıştırma iş akışı, Tailwind'in varsayılan olarak gönderdiği token'larla özdeş token'lar üretir. Tam token satırı için Kod olarak kopyala bölümünün Tailwind v4 parçacığıyla eşleştirin.

Display P3 + Rec.2020 Renk Gamı Rozetleri

Üç canlı rozet (sRGB, Display P3, Rec.2020), geçerli OKLCH üçlüsünün her uzayın yeniden üretilebilir aralığının içine düşüp düşmediğini işaretler. OKLCH sınırsız olduğu için yararlıdır — birçok yüksek chroma'lı renk sRGB'yi aşar ancak P3'e sığar; 2017'den beri çoğu Apple cihazının yerel olarak işleyebileceği bir şey. Rozetler renk gamı dışında olduğunda kırmızıya döner, böylece modern ekranlar için daha geniş renk gamlı değeri tutmaya mı yoksa evrensel uyumluluk için sRGB'ye hizalamaya mı karar verebilirsiniz. Kanal aralığı kontrolü her tuş vuruşunda çalışır.

Eski Uyumluluk için sRGB'ye Hizala

sRGB'ye Hizala düğmesi ikili chroma azaltmayı (CSS Color 4 §13 bilgilendirici algoritma) çalıştırır: L ve H'yi sabit tutun, ortaya çıkan sRGB dönüşümü renk gamında kalana kadar C'yi aşağı doğru arayın. Arama, alt piksel hassasiyetinde ~30 yinelemede sonlanır. L ve H'yi korumak, hizalanan rengin aynı parlaklıkta aynı renk tonu ailesi olarak okunması anlamına gelir — yalnızca doygunluğunu kaybeder; bu, görsel olarak en az rahatsız edici uzlaşmadır. Hizalanan hex, katmanlı geri dönüş için `@supports not (color: oklch(0 0 0))` aracılığıyla orijinal OKLCH ile eşleşir.

Tuş Başına Anında Dönüşüm

Dönüştür düğmesi yoktur. HEX alanına tek bir karakter yazın ve OKLCH alanı aynı animasyon karesinde güncellenir. Dahili kanonik temsil OKLCH üçlüsünün kendisidir, bu nedenle OKLCH'yi doğrudan düzenlemek de eşit derecede hızlıdır — imleç koyduğunuz yerde kalır, yalnızca diğer biçim alanları yeniden işlenir. Dönüşüm matematiği (sRGB → doğrusal → XYZ → LMS → OKLAB → kutupsal) mikrosaniyelerde çalışır; debounce yok, gecikme yok, görünür reflow yok.

W3C + Ottosson 2020 Boru Hattı ile Çözülmüş Örnek

Kod-örneği bölümü, W3C CSS Color 4'te yayımlanan tam matrisleri ve gamma işlevini (§11.2 parçalı gamma, §15.1 doğrusal-sRGB → XYZ D65 matrisi) ve Björn Ottosson'un 2020 OKLAB referans uygulamasını kullanan tam HEX → OKLCH boru hattının çalışan bir JavaScript uygulamasını gönderir. Bir Node REPL'ine yapıştırın ve `#3b82f6`'nın `oklch(0.629 0.193 263.4)` ürettiğini doğrulayın. Her matris değeri birincil kaynağından kopyala-yapıştırdır — yeniden türetme veya yuvarlama yoktur.

Birleşik Merkezde HSL / RGB / HEX ile Çift Yönlü

Bu maça özellikle HEX → OKLCH'yi hedeflese de, aynı sayfa diğer sekiz biçim alanını da gösterir — donanım için RGB, eski CSS için HSL, palet matematiği için OKLAB, seçici arayüzleri için HSV/HWB, baskı için CMYK ve en yakın CSS adlandırılmış rengi. Dahili OKLCH kaynak-doğru yaklaşımı, her alanın gidiş-dönüşlerde bit-kararlı olduğu anlamına gelir: HEX → OKLCH → HSL → HEX orijinal hex'i kurtarır. Herhangi bir alana tıklayıp doğrudan düzenleyin ve diğerlerinin güncellendiğini izleyin.

Tarayıcı Desteği Özeti Satır İçi

Araç kanonik tarayıcı destek veri noktalarını ilgili yerlerde yüzeyleştirir: Chrome ve Edge 111 (Mart 2023), Safari 15.4 (Mart 2022 — en erken), Firefox 113 (Mayıs 2023), birleşik caniuse kapsamı %94'ün üzerinde. Eski istemciler için, token'ları `@supports (color: oklch(0 0 0))` içine sarın ve alternatif dalda bir hex geri dönüşü sağlayın. sRGB'ye Hizala çıktısı tam olarak o geri dönüştür, mevcut OKLCH üçlüsünden otomatik olarak üretilir — elle chroma ayarı gerekmez.

%100 Tarayıcı İçi — Yükleme Yok, İzleme Yok

Tüm hex ayrıştırma, OKLCH dönüşümü, renk gamı algılama, kontrast puanlaması ve palet üretimi tarayıcınızda yerel olarak çalışır. Hex kodlarınız asla iletilmez, hiçbir sunucuda asla kaydedilmez, asla analiz edilmez. Siz yazarken sıfır ağ isteği — DevTools'ta doğrulayın. Duyurulmamış marka paletleri, yayımlanmamış ürünler için dahili tasarım token'ları, NDA altındaki taslak mock'lar ve değerin sızdırılamayacağı diğer gizli renk çalışmaları için güvenli.

HEX'ten OKLCH'ye Dönüştürücü Alternatifleri

OKLCH.com

tarayıcı aracı

Andrey Sitnik (postcss-oklab-function polyfill ve Autoprefixer'ın yazarı) tarafından güzel inşa edilmiş OKLCH odaklı araç. Geniş renk gamı farkında bir seçici, P3 farkında görselleştirme ve palet üretimiyle saf OKLCH keşfi için sınıfının en iyisi. Birincil çıktı olarak HEX/RGB/HSL/CMYK dönüşümünü kapsamaz — yalnızca OKLCH'ye odaklanır. Derin OKLCH tasarım çalışması yaparken OKLCH.com'a uzanın; çapraz uzay dönüşümüne ve renk gamı/kontrast/CVD özelliklerine de ihtiyaç duyduğunuzda bu araca uzanın.

Tailwind v4 Dokümantasyon Paleti

dokümantasyon referansı

Tailwind v4 dokümanları, hex eşdeğerleriyle birlikte tam varsayılan paleti OKLCH'de yayımlar. Tam bir Tailwind tonu aramak (`blue-500` → `oklch(0.629 0.193 263.4)`) veya özel renkleri bir Tailwind tonunun görsel ağırlığıyla eşleştirmek için en iyisi. Etkileşimli değildir — keyfi hex kodlarının dönüşümü yoktur. Bu araç aynı OKLCH hassasiyetini kapsar ve yalnızca 200+ Tailwind varsayılanı için değil herhangi bir hex için çalışır.

ColorJS.io Playground

tarayıcı aracı

ColorJS.io, Lea Verou ve Chris Lilley'in otoriter CSS renk kütüphanesidir; playground tam dönüşüm grafiğini ortaya çıkarır (HEX, RGB, HSL, HWB, LCH, OKLCH, OKLAB, P3, Rec2020, ProPhoto, A98). Derinlemesine doğru matematik, spesifikasyon düzeyinde renk çalışması için idealdir. Arayüz geliştirici odaklıdır (tasarımcı odaklı değil) ve kontrast / CVD / palet özelliklerinden yoksundur. Bu araçla eşleştirin: başka türlü doğrulayamadığınız matematik için ColorJS.io'yu, aktif iş akışları için bu aracı kullanın.

shadcn/ui Tema Oluşturucu

tarayıcı aracı

Vercel'in shadcn tema oluşturucusu, shadcn/ui projeleri için yapıştırmaya hazır OKLCH CSS-değişken temaları üretir. Teslim edilecek olan bir shadcn yapılandırma dosyası olduğunda uçtan uca tema üretimi için en iyisi. Keyfi hex kodları için ara OKLCH değerlerini yüzeyleştirmez — tam tema iş akışına odaklanır. Bir shadcn teması oluştururken shadcn oluşturucuyu kullanın; herhangi bir bireysel rengin OKLCH'sine ihtiyacınız olduğunda bu aracı kullanın.

ColorHexa

tarayıcı aracı

Derin meta verilerle uzun süredir devam eden renk başına SEO sayfaları. Yakın zamanda HEX/RGB/HSL/CMYK ile birlikte OKLCH desteği eklendi. Arayüz eskimiş (2010 başı), geniş renk gamı algılama yok, APCA kontrast yok. Google üzerinden belirli bir hex'in SEO keşfi için güçlü; birleşik alan kullanıcı deneyiminin ve renk gamı/kontrast özelliklerinin önemli olduğu aktif dönüşüm iş akışları için daha zayıf. Bu araç her aktif iş akışı ekseninde kazanır.

Tarayıcı DevTools Renk Seçici

yerleşik tarayıcı özelliği

Chrome, Firefox ve Safari DevTools'un tümü, CSS bölmesinde bir renk örneğine tıkladığınızda HEX, RGB, HSL, HWB ve OKLCH arasında satır içi geçiş yapan bir renk seçici gönderir. Ücretsiz, kurulum yok, her zaman kullanılabilir. Renk gamı rozetlerinden, kontrast puanlamasından, renk körlüğü simülasyonundan ve web olmayan platformlar için kod dışa aktarımından (SwiftUI, Compose) yoksun. Zaten CSS hata ayıklıyorsanız DevTools'a uzanın; çapraz platform çıktıya veya daha derin kontrollere ihtiyacınız olduğunda bu araca uzanın.

Culori CLI

komut satırı kütüphanesi

Culori, en kapsamlı OKLCH farkında JavaScript renk kütüphanesidir; CLI'si HEX → OKLCH dönüşümünü tek satır olarak işler (`culori convert '#3b82f6' --to oklch`). CI betikleri ve toplu token geçişi için mükemmeldir. Görsel seçici veya renk gamı rozetleri yoktur. Otomasyon için Culori CLI'yi kullanın; etkileşimli tek renk çalışması ve anında görsel geri bildirim için bu aracı kullanın.

HEX'ten OKLCH'ye Örnekleri

Tailwind 3 HSL paletini → v4 OKLCH token'larına geçirin

#3b82f6

OKLCH çıktısı: `oklch(0.629 0.193 263.4)`. Kanonik Tailwind v4 geçiş iş akışı: marka rengini `@theme` bloğunuzda bir kez `--color-primary: oklch(0.629 0.193 263.4)` olarak tanımlayın, ardından L'yi yukarı adımlayarak açık tonlar (`oklch(0.7 0.193 263.4)`, `oklch(0.8 0.15 263.4)`) ve L'yi aşağı adımlayarak koyu tonlar (`oklch(0.5 0.193 263.4)`, `oklch(0.4 0.18 263.4)`) oluşturun. Hue 263.4°'de kilitli kalır, chroma 0.19 civarına çapalanır, açıklık ise süpürülen tek eksendir — tüm ölçek boyunca görsel olarak eşit okunan tek boyutlu bir rampa; eşdeğer HSL rampasının garanti edemeyeceği bir şey.

Algısal olarak tekdüze koyu tonlarla tasarım-token geçişi

#FF5733

OKLCH çıktısı: kabaca `oklch(0.66 0.18 28)`. Bu marka turuncusundan 5 adımlı bir koyu ton rampası oluşturmak için C = 0.18 ve H = 28 sabit tutun ve L'yi 0.3, 0.45, 0.6, 0.75, 0.9 üzerinden adımlayın — `oklch(0.3 0.18 28)`'den `oklch(0.9 0.18 28)`'e kadar üretir. Bitişik her çift parlaklıkta aynı görsel sıçrama gibi hissedilir çünkü OKLCH'nin L'si HSL'nin gamma-karışık geometrik L'sine değil OKLAB algısal modeline (Ottosson 2020) çapalanır. Chroma uçlarda sessizce sRGB'ye doğru kırpılabilir; aracın renk gamı rozetleri hangi adımların dikkat gerektirdiğini tam olarak işaretler.

Geniş renk gamlı OKLCH → Tailwind v3 siteleri için sRGB geri dönüşü

#FF1744

OKLCH çıktısı: yaklaşık `oklch(0.62 0.27 26)`. Bunun gibi yüksek chroma'lı bir kırmızı sRGB küpünü aşar — **sRGB** renk gamı rozeti kırmızı yanar, **Display P3** rozeti P3'e sığdığını doğrular ve Rec.2020 da kapsar. Standart bir 24-bit monitörde doygunluğu azaltılmış bir yaklaşım olarak işlenir; bir Display P3 ekranda (2017'den beri çoğu Apple cihazı) doygun olarak işlenir. İkili chroma azaltma algoritmasını (CSS Color 4 §13 bilgilendirici) çalıştırmak için **sRGB'ye Hizala**'ya tıklayın — L ve H kilitli kalırken C, renk sığana kadar küçülür; hâlâ 8-bit hex token'ları kullanan bir Tailwind v3 kod tabanı için uygun bir hex geri dönüşü üretir.

shadcn/ui tema geçişi

#0f172a

OKLCH çıktısı: yaklaşık `oklch(0.21 0.04 264.7)`. shadcn/ui, Tailwind v4 indikten kısa süre sonra CSS-değişken temasını OKLCH'ye taşıdı ve `#0f172a` (Tailwind slate-900), kanonik koyu mod arka planıdır. Araç, aynı hex için shadcn'in yayımlanan OKLCH değerini yeniden üretir, böylece bir topluluk tema portunun yukarı yöndeki tanımla eşleştiğini doğrulayabilirsiniz. Koyu mod ön planının (beyaz veya beyaza yakın) bu arka plana karşı hâlâ WCAG AA'yı temizlediğini doğrulamak için kontrast satırıyla eşleştirin — `oklch(0.21 ...)` ile `oklch(1 0 0)` karşı karşıya rahat bir 16:1 oranı bildirir.

Bir marka hex'inden Tailwind v4 koyu/açık çifti oluşturun

#3b82f6

OKLCH çıktısı: `oklch(0.629 0.193 263.4)`. Bir tema için eşleşen bir koyu/açık çifti türetmek için C ve H'yi sabit tutarken yalnızca L kanalını döndürün: açık mod birincil rengi `oklch(0.7 0.15 263)` olur (biraz daha parlak, beyaz arka planlarda göz yorgunluğunu önlemek için biraz daha az kromatik), koyu mod birincil rengi `oklch(0.5 0.18 263)` olur (biraz daha koyu, koyu arka planlarda öne çıkmayı korumak için biraz daha kromatik). Her iki varyant da aynı marka kimliği olarak okunur çünkü renk tonu kilitlidir; algısal L kayması, kanal başına manuel RGB ayarı olmadan iki modda da okunabilirliği dengeler.

Yaygın HEX → OKLCH Dönüşümleri (Tailwind v4)

HEX ve OKLCH eşdeğerleriyle birlikte 10 popüler Tailwind v4 varsayılan-palet orta tonunun referans tablosu. Değerler Tailwind v4'ün yayımlanan palet hassasiyetiyle eşleşir (L ve C'de üç ondalık, H'de tamsayı veya bir ondalık).

Tailwind slate-500

#64748b oklch(0.55 0.04 257)

Tailwind CSS'in varsayılan slate-500'ü — gövde metni, ikincil yüzeyler ve vurgusu azaltılmış UI öğeleri için kullanılan tarafsız serin gri. Düşük chroma (0.04) onu görsel olarak tarafsız tutar.

#64748b oklch(0.55 0.04 257)

slate, koyu mod dostu temalar için kanonik tarafsız rampadır — her slate tonu çok düşük chroma'da oturur, böylece mavi tonlu yerine gri olarak okunur.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind gray-500

#6b7280 oklch(0.55 0.03 258)

Tailwind CSS'in varsayılan gray-500'ü — slate'in saf-tarafsız karşılığı. Daha akromatik bir görünüm için slate'ten (0.04'e karşı 0.03) biraz daha düşük chroma.

#6b7280 oklch(0.55 0.03 258)

gray ve slate neredeyse özdeş L'de (0.55) oturur — algısal parlaklık eşleşir, yalnızca küçük chroma farkı onları ayırır.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind red-500

#ef4444 oklch(0.64 0.21 25)

Tailwind CSS'in varsayılan red-500'ü — kanonik yıkıcı-eylem / hata kırmızısı. Yüksek chroma (0.21), onu tarafsız arka planlara karşı belirgin tutar.

#ef4444 oklch(0.64 0.21 25)

red-500 L=0.64'te oturur, blue-500'ün L=0.63'üyle eşleşir — v4 rampaları, v3'ün HSL tabanlı paletinin aksine renk tonları arasında algısal olarak dengelidir.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind orange-500

#f97316 oklch(0.71 0.19 42)

Tailwind CSS'in varsayılan orange-500'ü — sıcak vurgu ve CTA renk tonu. Renk tonu çemberinde kırmızı ile amber arasında oturur (42°).

#f97316 oklch(0.71 0.19 42)

orange-500'ün daha yüksek L'si (0.71) ile red-500'ün L'si (0.64) arasındaki fark kasıtlıdır — sarılar ve turuncular kırmızılardan daha düşük algısal L'de parlak görünür.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind amber-500

#f59e0b oklch(0.76 0.16 70)

Tailwind CSS'in varsayılan amber-500'ü — uyarı / dikkat renk tonu, çarkta turuncu ile sarı arasında.

#f59e0b oklch(0.76 0.16 70)

amber-500, herhangi bir 500-seviye Tailwind renginin en yüksek L'sine (0.76) ulaşır — sarılar görsel olarak 'orta ton' olarak görünmek için doğal olarak daha yüksek L'ye ihtiyaç duyar.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind green-500

#22c55e oklch(0.72 0.19 149)

Tailwind CSS'in varsayılan green-500'ü — başarı / onay renk tonu. Renk tonu tekerleğinde 149°'de, camgöbeği-yeşil bölgesinde oturur.

#22c55e oklch(0.72 0.19 149)

L=0.72'deki green-500, L=0.64'teki red-500'den biraz daha parlaktır — bu algısal gerçeklikle eşleşir (yeşiller parlak görünür) ve palete dengeli görsel ağırlık verir.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind teal-500

#14b8a6 oklch(0.7 0.13 184)

Tailwind CSS'in varsayılan teal-500'ü — yeşil ile camgöbeği arasındaki serin vurgu renk tonu. Yüksek chroma'lı teal'ler sRGB'yi kolayca aştığı için green-500'den daha düşük chroma.

#14b8a6 oklch(0.7 0.13 184)

teal-500'ün H=184°'si camgöbeğinin (180°) hemen ötesinde oturur — OKLCH'de saf camgöbeği chroma kırpılması olmadan sRGB'de ifade etmek zordur; teal pratik uzlaşmadır.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind blue-500

#3b82f6 oklch(0.63 0.19 263)

Tailwind CSS'in varsayılan blue-500'ü — 2020'lerin kanonik 'web mavisi', v4 paletinin ve shadcn/ui'nin varsayılan temasının marka çapa rengi.

#3b82f6 oklch(0.63 0.19 263)

blue-500, Tailwind v4 OKLCH geçişi başlangıç noktası olarak en sık kullanılan referans renktir — yayımlanan değere karşı dönüşümü doğrulamak için #3b82f6'yı buraya yapıştırın.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind indigo-500

#6366f1 oklch(0.59 0.21 277)

Tailwind CSS'in varsayılan indigo-500'ü — maviye serin vurgu eşlikçisi, 277°'de (mora doğru) oturur. Yüksek chroma (0.21) ona belirginlik verir.

#6366f1 oklch(0.59 0.21 277)

indigo-500, blue-500'den daha düşük L'de oturur (0.59'a karşı 0.63) — daha derin renk tonu daha fazla görünen parlaklığı emer ve v4 rampası bunu algısal olarak hesaba katar.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

Tailwind violet-500

#8b5cf6 oklch(0.6 0.24 295)

Tailwind CSS'in varsayılan violet-500'ü — 295°'deki mor vurgu renk tonu. Herhangi bir Tailwind 500-seviye renginin en yüksek chroma'sı (0.24); sıklıkla AI / yaratıcı ürün markalaması için kullanılır.

#8b5cf6 oklch(0.6 0.24 295)

violet-500'ün yüksek C=0.24'ü, onu sRGB renk gamı tavanına yakın koyar — çok daha yükseğe itin ve yalnızca P3'e özgü geniş renk gamı bölgesine geçer.

RGB, HSL, CMYK, renk gamı uyarıları ve kod dışa aktarımıyla tam renk seçiciye ihtiyacınız var mı? Birleşik renk dönüştürücüyü deneyin — her biçim eşzamanlı olarak düzenlenebilir.

HEX'ten OKLCH'ye Dönüştürücü Nasıl Kullanılır

  1. 1

    HEX alanına bir hex kodu yapıştırın

    Herhangi bir hex değerini HEX girdisine bırakın — baştaki `#` ile veya `#` olmadan, 3 haneli kısa biçimde (`#F73`), 6 haneli tam biçimde (`#3b82f6`), 4 haneli alpha kısa biçimde (`#F738`) veya 8 haneli alpha tam biçimde (`#FF573380`). Ayrıştırıcı, beş girdi şeklinin tümünü OKLCH'yi türetmeden önce aynı dahili renge normalleştirir. Büyük/küçük harf önemli değildir (`#3b82f6` ve `#3B82F6` aynı şekilde ayrıştırılır). Geçersiz karakterler veya yanlış hane sayıları sessiz bir satır içi hata üretir; geçerli hex, OKLCH dahil diğer her biçim alanını gerçek zamanlı olarak günceller.

  2. 2

    OKLCH üçlüsünü OKLCH alanından okuyun

    OKLCH alanı, değeri CSS Color 4'ün modern biçiminde yüzeyleştirir: opak bir renk için `oklch(0.629 0.193 263.4)`, alpha taşıyan bir renk için `oklch(0.629 0.193 263.4 / 0.5)`. L üç ondalığa yuvarlanır (Tailwind v4'ün yayımlanan hassasiyetiyle eşleşir), C üç ondalığa, H bir ondalık dereceye. Aracın dahili OKLCH kaynak-doğru yaklaşımı, temel float hassasiyetinin diğer her alanda korunduğu anlamına gelir — hex'e gidiş-dönüşler bit-kararlı kalır; bu, HSL üzerinden döndüren eski dönüştürücülerin sapma yaptığı bir şey değil.

  3. 3

    OKLCH dizgesini almak için Kopyala'ya tıklayın

    Her biçim kartının sağında bir Kopyala düğmesi vardır. Tek tık ve değer panonuza iner — düğme etiketi kısaca "Kopyalandı!" olarak değişir, böylece bilirsiniz. Kopyalanan dizge kanonik CSS Color 4 sözdizimidir (`oklch(0.629 0.193 263.4)`), bir Tailwind v4 `@theme` bloğuna veya bir shadcn/ui CSS-değişken tanımına bırakmaya hazırdır. Platforma özgü çıktı (CSS özel özelliği, Tailwind v4 token, SwiftUI, Compose, Flutter) için seçicinin altındaki Kod olarak kopyala bölümünü kullanın — bu parçacıklar her platformun yerel olarak beklediği biçimi yayar.

  4. 4

    Display P3 / Rec.2020 renk gamı rozetlerini kontrol edin

    Üç renk gamı rozeti (sRGB, Display P3, Rec.2020), geçerli rengin her uzayın yeniden üretilebilir aralığının içine düşüp düşmediğini gösterir. sRGB rozeti kırmızıya dönerse ancak P3 yeşilse, renk Apple donanımında (2017+ iPhone, iPad, MacBook) doygun olarak işlenecek ancak eski 24-bit bir monitörde doygunluğu azaltılacak geniş renk gamlı bir OKLCH'dir. **sRGB'ye Hizala** düğmesi, L ve H'yi korurken rengi sRGB'ye küçültmek için ikili chroma azaltmayı (CSS Color 4 §13 bilgilendirici algoritma) kullanır ve `@supports not (color: oklch(0 0 0))` aracılığıyla gönderebileceğiniz bir hex geri dönüşü üretir.

  5. 5

    Ayrıca görünür: RGB, HSL, OKLAB, HSV, HWB, CMYK, adlandırılmış renk

    Yapıştırdığınız aynı hex, diğer sekiz biçim alanını da aydınlatır — canvas çağrıları ve donanım için RGB, eski CSS değişkenleri için HSL, palet matematiği ve renk körlüğü matrisleri için OKLAB, tasarımcı renk seçici iş akışları için HSV ve HWB, baskı tahminleri için CMYK ve belgelendirme düz yazısı için en yakın CSS adlandırılmış rengi. Yalnızca hex → OKLCH ile sınırlı değilsiniz. Seçici (SL karesi + renk tonu kaydırıcısı + alpha kaydırıcısı) dokuzunu da eşzamanlı olarak sürer ve Chromium tarayıcılarda Damlalık düğmesi, tarayıcının dışı dahil ekranın herhangi bir pikselini örnekler.

Yaygın HEX / OKLCH Hataları

OKLCH Chroma'yı HSL Doygunluğu Gibi Okumak

OKLCH Chroma sınırsızdır (sRGB'ye sığan renkler için 0 ile ~0,4 arasında, geniş renk gamı için daha yüksek) — HSL'nin S'si gibi 0-100% bir doygunluk yüzdesi DEĞİLDİR. C=0.3'ün "%30 doygun" anlamına geldiğini varsaymak ölçeği yanlış okur: 0.3 yüksek kromatiktir, bazı renk tonları için sRGB tavanına yakındır ve diğerleri için bunu çok aşar. Maksimum C, L ve H'ye göre değişir — L=0.7'deki bir yeşil, L=0.3'teki bir maviden çok daha yüksek C'yi destekler. C'yi göreceli bir yüzde olarak değil, griden mutlak bir mesafe olarak ele alın.

✗ Yanlış
"%30 doygunluk" bekleyerek OKLCH C = 0.3 ayarlayın:
oklch(0.7 0.3 250) → maviler için sRGB renk gamını aşabilir
Geniş renk gamı rengi eski ekranlarda doygunluğu azaltılmış olarak işlenir.
✓ Doğru
C'yi mutlak chroma olarak ele alın, renk gamı rozetlerini kontrol edin:
oklch(0.7 0.15 250) → bu L+H çifti için rahatlıkla sRGB içinde
Hedef renk gamına sığan maks C'yi bulmak için rozetleri kullanın.

OKLCH L'yi HSL L ile Aynı Şekilde Ele Almak

Her iki uzay da Lightness'ı 0-1 (veya 0-100%) ekseni olarak bildirir, ancak farklı şeyleri ölçerler. HSL L geometriktir — gamma kodlanmış sRGB'de RGB maks/min ortalamasından türetilir. OKLCH L algısaldır — OKLAB modeline çapalanır. HSL tabanlı bir paleti `oklch(L%, C, H)` olarak taşımak ve eşleşen parlaklık beklemek eşitsiz sonuçlar üretir çünkü iki uzay arasındaki L ilişkisi doğrusal değildir. Orta ton renkler için OKLCH L = 0.6 kabaca HSL L = %50'dir, ancak eğri koyu ve açık uçlarda kayar.

✗ Yanlış
HSL L yüzdelerini doğrudan OKLCH'ye kopyalayın:
hsl(220 50% 30%), oklch(0.30 0.10 220) olarak taşındı
İki renk parlaklıkta belirgin biçimde farklı görünür.
✓ Doğru
OKLCH'yi orijinal hex'ten yeniden türetin, HSL'yi taşımayın:
hex kaynağı → OKLCH dönüşümü → oklch(0.34 0.08 254)
Algısal L doğru kalır; palet eşit hisseder.

Geniş Renk Gamlı OKLCH'nin sRGB'de Görüntülenmeyeceğini Unutmak

OKLCH sınırsızdır — `oklch(0.7 0.4 30)` yazabilirsiniz ve sözdizimi geçerlidir, ancak chroma sRGB'nin kanal başına 256 bayt uzayında kodlayabileceğinden fazladır. Bir sRGB monitörde bu renk en yakın renk gamı içi yaklaşıma (genellikle doygunluğu azaltılmış bir sürüm) kırpılır. Bir Display P3 monitörde doğru şekilde işlenir. Renk gamı rozetlerini kontrol etmeden geniş renk gamlı bir OKLCH göndermek, farklı ekranlarda farklı görünen bir renk üretir — ince ama gerçek bir çapraz platform tutarlılık hatası.

✗ Yanlış
sRGB renk gamını kontrol etmeden oklch(0.7 0.4 30) gönderin:
P3 ekranlar doygun kırmızı işler; sRGB ekranlar doygunluğu azaltılmış işler
Marka rengi kullanıcı donanımı arasında tutarsız görünür.
✓ Doğru
sRGB renk gamı rozetini kontrol edin, gerekirse sRGB'ye Hizala, @supports ile katmanlayın:
@supports (color: oklch(0 0 0)) { --primary: oklch(0.7 0.4 30); }
@supports not (color: oklch(0 0 0)) { --primary: #ef6b50; }
P3 donanımı geniş renk gamı değerini alır; sRGB donanımı hizalanan geri dönüşü alır.

oklch() için Tarayıcı Desteğinin Eksikliği

Yerel `oklch()` ayrıştırma Chrome ve Edge 111'de (Mart 2023), Safari 15.4'te (Mart 2022) ve Firefox 113'te (Mayıs 2023) indi. Birleşik caniuse kapsamı %94+, ancak kalan %6 IE 11'i, iOS 15.3 veya öncesinde eski Safari'yi, eski Android Chrome'u ve gömülü webview'ları içerir. Bu uzun kuyruğa bir geri dönüş olmadan `oklch()` göndermek, CSS `inherit` değeri olarak işlenir veya tamamen başarısız olur. Geniş kitleli üretim siteleri için her zaman `@supports` ile özellik algılaması yapın.

✗ Yanlış
Marka rengini yalnızca OKLCH'de tanımlayın:
:root { --primary: oklch(0.629 0.193 263.4); }
IE 11 ve eski iOS Safari hiç renk işlemez.
✓ Doğru
Zarif geri dönüş için @supports ile katmanlayın:
:root { --primary: #3b82f6; }
@supports (color: oklch(0 0 0)) { :root { --primary: oklch(0.629 0.193 263.4); } }
Modern tarayıcılar OKLCH alır; eski tarayıcılar hex geri dönüşünü alır.

OKLCH ile LCH (CIE-LAB Kutupsal Biçimi) Karıştırmak

CSS Color 4 hem `oklch()` hem de `lch()` gönderir. Şekilde özdeş görünürler (L / C / H) ancak farklı temel uzaylar kullanırlar: `lch()` CIE-LAB'ın (1976) kutupsal biçimidir, `oklch()` OKLAB'ın (Ottosson 2020) kutupsal biçimidir. İkisi birbirinin yerine geçmez — `lch(60% 50 240)` ve `oklch(0.6 0.15 240)` farklı renkleri tanımlar. CIE-LAB'ın algısal tekdüzeliği doygun maviler etrafında bozulur; Ottosson'un OKLAB'ı yeniden türetmesinin nedeni budur. Yeni tasarım sistemi çalışmaları için `oklch()`'yi `lch()`'ye tercih edin.

✗ Yanlış
Aynı sonucu bekleyerek lch()'yi oklch() yerine kullanın:
lch(60% 50 240) ≠ oklch(0.6 0.15 240) — tamamen farklı renkler
Uzaylar arasında kopya-yapıştır yapıldığında değer sessizce yanlıştır.
✓ Doğru
Bir uzay seçin ve onda kalın:
modern tasarım sistemleri için oklch(0.629 0.193 263.4)
veya lch(60% 50 240) — ancak yeniden dönüştürmeden işlev adlarını değiştirmeyin

HEX'ten OKLCH'ye Kimler Kullanır

Tailwind v4 OKLCH Token'larına Geçen Ön Uç Geliştiriciler
Tailwind v4, Ocak 2025'te varsayılan paleti için OKLCH'yi standartlaştırdı. Hex tabanlı marka renkleri olan bir v3 kod tabanını geçirmek, her hex'i OKLCH'ye dönüştürmek ve sonucu yeni `@theme` bloğuna bırakmak anlamına gelir. Her hex'i buraya yapıştırın, `oklch()` değerini kopyalayın, `--color-primary: oklch(0.629 0.193 263.4)` ve arkadaşlarını tanımlayın. Canlı renk gamı rozetleri sRGB'yi aşan renkleri işaretler, böylece Display P3 kullanıcıları için geniş renk gamlı değeri tutup tutmayacağınıza veya sRGB'ye hizalayıp hizalamayacağınıza karar verebilirsiniz.
Özel Paletler Oluşturan shadcn/ui Tema Yazarları
shadcn/ui'nin CSS-değişken teması her token için OKLCH kullanır (`--background`, `--foreground`, `--primary`, vb.). Özel temalar, OKLCH'ye dönüştürerek ve ardından açık/koyu varyantlar için L'yi süpürerek bir temel marka hex'inden türetilir. Marka hex'ini yapıştırın, OKLCH üçlüsünü okuyun, C ve H'yi sabit tutarken L'yi adımlayarak temanın geri kalanını oluşturun. Kanonik shadcn iş akışıyla tam olarak eşleşir.
Algısal Olarak Eşit Rampalar Oluşturan Tasarım Sistemi Yazarları
C ve H sabit tutulurken L kanalını eşit OKLCH artışlarıyla adımlayarak bir 50/100/200/.../900 rampası oluşturun. Bitişik duraklar arasındaki görsel boşluk her renk tonunda özdeş görünür — bir marka rengi paletinin gerçekten ihtiyaç duyduğu şey. Tailwind v4 varsayılan paleti için tam olarak bu yapıyı kullanır ve shadcn/ui bunu yansıtır. Her marka hex'ini yapıştırın, OKLCH'yi okuyun, rampayı algoritmik olarak veya seçicinin altındaki Açık Tonlar/Koyu Tonlar/Gri Tonlar panelinden oluşturun.
OKLCH Uzayında Kontrastı Doğrulayan Erişilebilirlik Mühendisleri
WCAG 2.1 ve APCA kontrastı, OKLCH üçlüsüne değil çözülmüş sRGB rengine karşı bildirir — ancak bir marka renginin OKLCH L'sini bilmek kontrast ayarını öngörülebilir kılar: beyaza karşı AA'yı temizlemek için L'yi 0.1 artırın, siyaha karşı AA'yı temizlemek için L'yi 0.1 düşürün. Eşzamanlı OKLCH + WCAG + APCA görünümü ilişkiyi görünür kılar. Marka hex'ini yapıştırın, kontrast rozetlerini izleyin, çift her iki metriği de geçene kadar OKLCH'de L'yi ayarlayın (HSL'den daha öngörülebilir).
Modern Ekranlar için Geniş Renk Gamlı Renk Token'ları Oluşturan Web Geliştiricileri
2017'den beri çoğu Apple cihazı (ve birçok modern Android cihazı) Display P3'ü yerel olarak işler. Marka aksan renklerini OKLCH'de tanımlamak, hiçbir hex kodunun kodlayamayacağı yalnızca P3'e özgü doygun kırmızıları ve yeşilleri adreslemenize olanak tanır. Mevcut bir hex'i yapıştırın, OKLCH'sini okuyun, ardından ekstra P3 doygunluğunu talep etmek için C kanalını sRGB tavanının üzerine itin. Renk gamı rozetleri, yeni değerin P3'e sığdığını doğrular (ve tarayıcı chroma sıkıştırması aracılığıyla yalnızca sRGB ekranlarda zarif biçimde geri döner).
Algısal-vs-Geometrik Açıklığı Öğreten Eğitmenler
Eşzamanlı OKLCH + HSL görünümü, algısal ve geometrik açıklık arasındaki farkı belirgin hale getirir. Aynı HSL L=%50'de doygun bir yeşil ve doygun bir mavi yapıştırın; OKLCH L değerleri belirgin biçimde farklılaşır çünkü OKLCH gerçek algılanan parlaklığı ölçer. HSL renk tonu kaydırıcısını sürükleyin ve HSL L'yi sabit tutarken OKLCH L'sinin sallandığını izleyin — eğri, görselleştirilmiş gamma tuhaflığıdır. Tasarım sistemlerinin neden OKLCH'ye geçtiğine dair sınıfa hazır bir gösterim.
Token Belgelerini Modernleştiren Açık Kaynak Bakımcıları
Eski tasarım sistemi belgeleri tipik olarak marka renklerini yalnızca hex kod olarak listeler. OKLCH'ye modernleştirmek, aynı rengi her iki uzayda da göstermek anlamına gelir — kod-bloğu uyumluluğu için hex, spesifikasyon tablosu ve modern token tanımı için OKLCH. Her hex'i yapıştırın, OKLCH çıktısını kopyalayın, belgeleri güncelleyin. Paylaşılabilir URL hash'i ayrıca katkıda bulunanların bir GitHub sorunundaki tartışmadaki tam renge belirsizlik olmadan bağlantı vermelerine olanak tanır.

HEX'ten OKLCH'ye Matematik ve Boru Hattı

HEX → OKLCH 7 Adımlı Bir Boru Hattıdır
Dönüşüm, beş ara temsil arasında yönlendirilir: hex → tamsayı sRGB → normalleştirilmiş sRGB (0-1) → doğrusal-sRGB (gamma-çözülmüş) → CIE XYZ D65 → OKLAB → OKLCH. Her adım birincil bir kaynaktan iyi tanımlanmış bir matris veya parçalı işlevdir. Araç tam boru hattını her tuş vuruşunda çalıştırır; matematik debounce gerekmeyecek kadar hızlıdır (mikrosaniyeler). Ara RGB demetinin OKLCH'nin yanında yüzeylenmesi, RGB kanallarını inceleyerek beklenmeyen bir OKLCH değerini ayıklayabileceğiniz anlamına gelir.
CSS Color 4 §11.2 Gamma İşlevi
sRGB → doğrusal-sRGB dönüşümü, CSS Color 4 §11.2 parçalı işlevini kullanır: `v ≤ 0.04045 ? v/12.92 : ((v + 0.055) / 1.055)^2.4`. Parçalı biçim (sıfır yakınında küçük bir doğrusal segmentle), çok koyu renklerde saf üs biçiminin sayısal istikrarsızlığını önler. Bu, ICC profillerinin sRGB'yi kodlamak için kullandığı aynı işlevdir ve tarayıcıların hex kodlarını işlerken dahili olarak kullandığı aynı işlevdir. OKLCH → hex tersi, aynı işlevi tersine uygular: `v ≤ 0.0031308 ? v * 12.92 : 1.055 * v^(1/2.4) - 0.055`.
CSS Color 4 §15.1 Matrisi: doğrusal-sRGB ↔ XYZ D65
CSS Color 4 §15.1'den matris, doğrusal-sRGB'yi D65 beyaz noktası altında CIE XYZ'ye dönüştürür: `X = 0.4124564 R + 0.3575761 G + 0.1804375 B`, `Y = 0.2126729 R + 0.7151522 G + 0.0721750 B`, `Z = 0.0193339 R + 0.1191920 G + 0.9503041 B`. Y satırı sRGB parlaklık formülünü verir. Matris, ICC, Adobe Color Engine ve LCMS açık kaynak boru hattı dahil her renk yönetimi kütüphanesinde kullanılan aynı matristir. OKLCH → hex için ters matris §15.1 tersini uygular.
Ottosson 2020 OKLAB Matrisleri ve Küp Kökü Adımı
XYZ D65 → OKLAB dönüşümü, Björn Ottosson'un 2020 OKLAB makalesinde yayımlanan iki matrisi ve bir küp kökü adımını kullanır. Birinci matris XYZ'yi bir LMS koni-yanıt uzayına (insan L/M/S koni duyarlılıklarına gevşek biçimde modellenmiş) dönüştürür. Dinamik aralığı doğrusal olmayan şekilde sıkıştırmak için her kanalın küp kökünü alın (algısal-tekdüzelik-düzeltme adımı). İkinci matris küp-köklü LMS'yi OKLAB'ın L/a/b koordinatlarına dönüştürür. Her üç işlem de makalenin referans uygulamasında yayımlanan tam değerleri kullanır; yeniden türetme veya yuvarlama yoktur. OKLCH → hex tersi bu matrisleri tersine uygular.
OKLAB ↔ OKLCH Kartezyen-Kutupsaldır
OKLAB'ın `a` ve `b` eksenleri L eksenine dik bir chroma düzlemi oluşturur. OKLCH bu düzlemi kutupsal olarak kodlar: `C = sqrt(a² + b²)` (griden Öklid mesafesi), `H = atan2(b, a) * 180 / π` (derece cinsinden açı, 0-360°'ye sarılır). Tersi: `a = C * cos(H * π / 180)`, `b = C * sin(H * π / 180)`. Tasarım-token depolama için kutupsal biçim OKLAB'a tercih edilir çünkü Hue kararlı bir eksendir — Hue'yu döndürmek, OKLAB'da `a` veya `b`'yi döndürmenin yapabileceği gibi yanlışlıkla gri üzerinden çapraz geçiş yapmaz.
Kanal Aralığı Kontrolü ile Renk Gamı Algılama
Bir renk, o uzayın birincil renklerine dönüştürüldükten sonra her kanal `[-ε, 1 + ε]` içine düşerse hedef uzay (sRGB, Display P3, Rec.2020) için renk gamı içinde sayılır; burada `ε = 1e-7` sınırlar etrafındaki float hassasiyet gürültüsünü emmek içindir. Her uzayın renk gamı rozeti, herhangi bir kanal aralığı aştığında kırmızıya döner. OKLCH renk gamı açısından sınırsızdır — `oklch(0.7 0.4 30)` geçerli bir koordinattır ancak sRGB'nin kanal başına 256 bayt uzayını aşabilir. Kontrol her tuş vuruşunda çalışır; sRGB'ye Hizala ile birlikte bu, en yaygın benimseme tuzağını (geniş renk gamlı OKLCH'nin eski ekranlarda doğru görüntülenmemesi) yakalar.
sRGB'ye Hizala İkili Chroma Azaltma
sRGB'ye Hizala, CSS Color 4 §13'teki bilgilendirici renk gamı eşleme algoritmasıyla eşleşir: L ve H'yi mevcut değerlerde sabit tutun, sRGB dönüşümü renk gamında kalan en büyük C için C ∈ [0, mevcutC] üzerinde ikili arama yapın. Arama en fazla 30 yineleme çalışır (hassasiyet ~10⁻⁹), bu da görsel doğruluk için fazlasıyla yeterlidir. L ve H'yi korumak, hizalanan rengin aynı parlaklıkta aynı renk tonu ailesi olarak okunması anlamına gelir — yalnızca doygunluğunu kaybeder. RGB kanallarını doğrudan kırpmayız çünkü bu renk tonunu belirgin biçimde bozar (özellikle moruya doğru kırpılan mavilerde).

HEX / OKLCH İş Akışları için En İyi Uygulamalar

Yeni Kodda OKLCH'yi Kanonik Token Biçimi Olarak Kullanın
2025 veya sonrasında gönderilen herhangi bir tasarım sistemi için marka renklerini ve palet rampalarını OKLCH'de tanımlayın. L ekseni otomatik olarak algısal olarak eşit rampalar verir; Chroma ekseni hex'in kodlayamayacağı geniş renk gamlı renkleri adresleyebilir. Eski tarayıcılar için `@supports not (color: oklch(0 0 0))` veya derleme zamanı PostCSS aracılığıyla bir hex geri dönüşü tutun, ancak OKLCH'yi token deponuzda kaynak-doğru yapın. Tailwind v4 ve shadcn/ui her ikisi de bu şekilde gönderir; yeni projeler hiçbir sürtüşme olmadan örneklerini izleyebilir.
L'yi Adımlayarak Rampalar Oluşturun, C ve H'yi Sabit Tutun
Kanonik OKLCH rampa yapısı: C ve H'yi kilitleyin, L'yi eşit artışlarla süpürün. L = 0.1, 0.2, …, 0.9 için 9 adımlı bir rampa `oklch(L 0.15 263)`, her adımda görsel olarak eşit aralıklar üretir. Tailwind v4'ün dahili olarak yaptığı tam olarak budur. Rampanın kromatik yoğunluğunun kasıtlı olarak değişmesini istemiyorsanız (nadir) C'yi L ile birlikte süpürmeyin. H'yi adımlar arasında kaydırmayın — 5°'lik bir kayma bile rampanın karmaşık hissetmesine neden olur.
Tailwind v4'ün Hassasiyetiyle Eşleşin: 3 Ondalık L+C, 1 Ondalık H
Tailwind v4'ün varsayılan paleti, OKLCH değerlerini L ve C'de üç ondalık basamak ve H'de bir ondalık basamakla yayımlar — blue-500 için `oklch(0.629 0.193 263.4)`. Kendi token'larınızda bu hassasiyetle eşleşmek, yapılandırmaya yapıştırma iş akışlarının Tailwind'in gönderdiği değerlerle özdeş değerler üretmesi ve fark araçlarının sahte farkları işaretlememesi anlamına gelir. Aracın varsayılan yuvarlaması bu kuralı izler; bir `@theme` bloğuna kopyala-yapıştır bit-tamdır.
Geniş Renk Gamlı OKLCH'yi Display P3 Renk Gamı Kontrolünden Geçirin
Modern Apple donanımını (2017+ iPhone, iPad, MacBook) hedefliyorsanız veya HDR farkında içerik gönderiyorsanız, renk gamı rozetleri, ekstra P3 doygunluğunu talep etmek için C'yi sRGB tavanının üzerine itmenize olanak tanır. Tarayıcı tarafından uygulanan chroma sıkıştırma, rengin yalnızca sRGB ekranlarda kırpılmasını engeller. Tüm hedef kitlenizin eski ekranlarda olduğunu bilmiyorsanız varsayılan olarak sRGB'ye önceden hizalamayın — bu, P3 donanımının işleyebileceği doygunluğun %30+'ını kaybeder.
2023 Öncesi Tarayıcılar için @supports Aracılığıyla Hex Geri Dönüşü Sağlayın
`oklch()` için yaşayan tarayıcı desteği şu anda %94+ olsa da, uzun kuyruk (IE 11, eski Android Chrome, gömülü webview'lar) hâlâ bir geri dönüşe ihtiyaç duyar. Token'ları `@supports (color: oklch(0 0 0))` içine sarın ve alternatif dalda bir hex varyantı sağlayın. sRGB'ye Hizala çıktısı tam olarak o geri dönüştür — mevcut OKLCH üçlüsünden L ve H korunarak otomatik olarak üretilir. `postcss-oklab-function` gibi derleme zamanı PostCSS eklentileri de derleme zamanında sRGB yaklaşımını satır içi yerleştirebilir.
Token'larınızda Hem OKLCH'yi Hem de Kaynak Hex'i Belgeleyin
`--color-primary: oklch(0.629 0.193 263.4)` gibi bir CSS değişkeni gönderdiğinizde, kaynak hex'i içeren bir yorum ekleyin: `/* kaynak: #3b82f6 (Tailwind blue-500) */`. Altı ay sonra, birisinin ilgili bir koyu ton türetmesi veya değeri bir marka kılavuzu PDF'ine karşı kontrol etmesi gerektiğinde, kaynak hex tam köken izini korur. OKLCH tek başına anlamlıdır ancak gözle tanınması daha zordur; kaynak hex, çoğu takım arkadaşının önce arayacağı tanımlayıcıdır.
Canlı Renk Kararlarını Paylaşmak için URL Hash'ini Kullanın
Her renk değişikliği URL hash'ini otomatik olarak `#hex=3b82f6` veya `#oklch=...` olarak günceller. URL'yi bir Slack iş parçacığına veya GitHub sorununa kopyalayın ve onu açan herkes aynı OKLCH üçlüsüyle aynı renge düşer. Bu, sohbette bir OKLCH dizgesi yapıştırmaktan daha güvenilirdir — alıcılar bazen ondalıklarda yazım hatası yapar veya yanlış hassasiyeti sarar — ve bir tasarım inceleme iş parçacığının "Salı günü tartıştığımız marka mavisi" yerine tam bir renge başvurmasına olanak tanır. Hash sunucuya asla iletilmez.

Sıkça Sorulan Sorular

OKLCH rengi nedir?
OKLCH, Björn Ottosson tarafından 2020'de yayımlanan algısal olarak tekdüze bir renk uzayı olan OKLAB'ın kutupsal biçimidir. Kanallar Lightness (0-1, ayrıca 0-100% olarak da yazılabilir), Chroma (renk tonuna ve L'ye bağlı olarak 0 ile yaklaşık 0,4 arasında, üst sınırı yoktur) ve Hue'dur (0-360°, kavramsal olarak HSL'nin renk tonuyla aynı). CIE-LAB'dan küp-kök adımıyla bir LMS koni-yanıt aşaması üzerinden türetilir. CSS Color 4, 2022'de `oklch()` sözdizimini ekledi. Tailwind v4, 2025'te varsayılan paleti için OKLCH'yi standartlaştırdı. Örnek: `oklch(0.629 0.193 263.4)`, Tailwind blue-500'dür.
OKLCH, HSL'den daha mı iyi?
Tasarım sistemleri için evet. HSL'nin L'si (lightness) geometriktir — RGB maks ve min'in ortalamasından türetilir — ve sRGB'nin gamma eğrisini miras alır, bu nedenle `hsl(60 100% 50%)` (sarı), her ikisi de L=%50 bildirse bile `hsl(240 100% 50%)`'den (mavi) gözle görülür biçimde daha parlak görünür. OKLCH'nin L'si algısaldır, Ottosson 2020'den OKLAB modeline çapalanır. Pratik sonuç: tekdüze L'deki bir OKLCH rampası her renk tonunda görsel olarak eşit görünür; bir HSL rampasının eşit görünmesi için renk tonuna özel elle ayarlamalara ihtiyacı var. Tailwind v4'ün varsayılan paletini HSL tabanlı üretimden OKLCH tabanlı üretime geçirmesinin nedeni budur.
oklch() hangi tarayıcılarda desteklenir?
2023 ortası itibarıyla tüm yaşayan tarayıcılar: Chrome ve Edge 111 (Mart 2023), Safari 15.4 (Mart 2022, en erken iniş), Firefox 113 (Mayıs 2023). Birleşik caniuse kapsamı %94'ün üzerindedir. Uzun kuyruk için — IE 11, eski Safari, eski donanımda Android Chrome — token'larınızı `@supports (color: oklch(0 0 0))` içine sarın ve alternatif dalda bir hex veya `hsl()` geri dönüşü sağlayın. PostCSS `postcss-oklab-function` gibi derleme zamanı araçları da derleme zamanında OKLCH değerinin yanına bir sRGB yaklaşımı satır içi yerleştirebilir.
Tailwind v4'te neden OKLCH kullanmalı?
Tailwind v4 (Ocak 2025'te yayımlandı), varsayılan paletini HSL tabanlı üretimden OKLCH tabanlı üretime özellikle taşıdı çünkü OKLCH algısal olarak eşit rampaları otomatik olarak verir. v3'ün HSL sistemi altında `red-500` ve `blue-500`, özdeş HSL L% değerine rağmen gözle görülür biçimde farklı algılanan ağırlıklara sahipti ve bu, tasarımcıları ayrı durakları elle ayarlamaya zorluyordu; v4 altında, her ikisi de aynı OKLCH L'sinde olduğu için her ikisi de dengeli görünür. OKLCH ayrıca hiçbir hex kodunun kodlayamayacağı Display P3 geniş renk gamlı renkleri açar — `oklch(0.65 0.25 30)` gibi bir Tailwind v4 token'ı, sRGB'yi aşan P3 kırmızılarını adresleyebilir. Derleme, eski tarayıcılar için hâlâ hex geri dönüşleri yayar.
OKLCH algısal olarak tekdüze mi?
Evet — tasarım amacı budur. OKLCH, algısal tekdüzeliği, CIE-LAB'daki tekdüzesizlikleri (önceki en iyi algısal olarak tekdüze uzay) düzeltmek için özel olarak tasarlanan Björn Ottosson'un 2020 renk uzayı OKLAB'dan miras alır. L kanalındaki sabit bir adım, sabit bir algılanan parlaklık adımına karşılık gelir. C'deki sabit bir adım, sabit bir algılanan chroma adımına karşılık gelir. CIELAB yaklaşımları çok doygun renklerin etrafında bozulur; OKLAB ve onun kutupsal biçimi OKLCH, renk gamı boyunca doğru kalır; bu nedenle her modern tasarım sistemi aracı (Tailwind v4, shadcn/ui, Radix Colors v3) bunu standartlaştırdı.
Bir OKLCH değeri nasıl okunur?
`oklch(L C H)` — üç sayı, isteğe bağlı olarak alpha için `/ A` ile. L, 0'dan (siyah) 1'e (beyaz) Lightness'tır; sayı biçimi ve yüzde biçimi eşdeğerdir (`0.6` ve `60%`). C, 0'dan (gri) en doygun sRGB renkleri için yaklaşık 0,4'e kadar Chroma'dır; sert bir üst sınır yoktur, geniş renk gamlı renkler bunu aşabilir. H, HSL ile aynı, 0 ile 360 derece arasında Hue'dur (0/360 = kırmızı, 120 = yeşil, 240 = mavi). Örnek: `oklch(0.629 0.193 263.4)`, Tailwind blue-500'dür — parlak, yüksek kromatik, mavi yayında.
OKLCH ile LCH arasındaki fark nedir?
Her ikisi de bir CIE-LAB ailesi renk uzayının kutupsal biçimleridir (Lightness / Chroma / Hue). LCH, 1976 algısal olarak tekdüze uzay olan CIE-LAB'ın kutupsal biçimidir. OKLCH, Ottosson'un 2020 güncellemesi olan OKLAB'ın kutupsal biçimidir. Fark: CIE-LAB'ın algısal tekdüzeliği, yüksek doygunluktaki mavi ve mor renklerin etrafında bozulur (modeldeki belgelenmiş bir zayıflık), bu nedenle doygun renkler arasındaki bir LCH rampası ince biçimde eşitsiz görünür. OKLAB, matrisleri düzeltilmiş bir LMS koni-yanıt aşamasından yeniden türeterek bunu düzeltir. Her ikisi de CSS Color 4'te gönderilir (`lch()` ve `oklch()` sözdizimi); 2025'teki yeni tasarım sistemi çalışmaları için OKLCH'yi tercih edin.
HEX'i OKLCH'ye nasıl dönüştürürüm?
Boru hattı: `parseInt(hex, 16)` aracılığıyla `#RRGGBB` hex'ini tamsayı sRGB kanallarına ayrıştırın, 0-1'e normalleştirin, CSS Color 4 §11.2 parçalı işlevi aracılığıyla doğrusal-sRGB'ye gamma-çöz, CIE XYZ D65 elde etmek için §15.1 matrisiyle çarpın, Ottosson'un LMS matrisiyle çarpın ve her kanalın küp kökünü alın, L/a/b elde etmek için Ottosson'un OKLAB matrisiyle çarpın, ardından Kartezyen-kutupsal: `C = sqrt(a² + b²); H = atan2(b, a) * 180 / π`. Tam boru hattı mikrosaniyelerde çalışır. Bu araç bunu siz yazarken canlı çalıştırır — `#3b82f6` anında `oklch(0.629 0.193 263.4)` olarak iner.

Sayı Tabanı Dönüştürücü — Binary, Hex, Decimal ve Octal

Dönüştürme Araçları

Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.

Renk Dönüştürücü — HEX, RGB, HSL & OKLCH

Dönüştürme Araçları

HEX'i RGB, HSL, OKLCH, OKLAB ve CMYK biçimlerine tarayıcınızda dönüştürün — herhangi bir biçimi tek tıkla kopyalayın. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.

HEX'ten CMYK'ye Dönüştürücü

Dönüştürme Araçları

HEX renklerini tarayıcınızda CMYK'ye dönüştürün. Baskı önizlemeleri için sRGB tabanlı saf yaklaşım. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.

HEX'ten HSL'ye Dönüştürücü

Dönüştürme Araçları

Herhangi bir HEX rengi tarayıcınızda HSL'ye dönüştürün — 3 haneli, 6 haneli ve alpha içeren 8 haneli HEX desteklenir. Ücretsiz, anında, kayıt yok, renkleriniz sayfadan asla çıkmaz.

HEX'ten RGB'ye Dönüştürücü

Dönüştürme Araçları

Herhangi bir HEX renk kodunu tarayıcınızda RGB'ye dönüştürün — 3 haneli, 6 haneli ve alpha içeren 8 haneli HEX desteklenir. Ücretsiz, anında, kayıt yok, renkleriniz sayfadan asla çıkmaz.

Resimleri Çevrimiçi Sıkıştırın — JPEG, PNG ve WebP

Dönüştürme Araçları

JPEG, PNG ve WebP'yi %80'e kadar küçültün — tarayıcınızda, yükleme yok. 20 resim toplu, kalite ayarı, öncesi/sonrası karşılaştırma. Ücretsiz ve gizli.