Skip to content

محوّل HEX إلى OKLCH

حوّل HEX إلى OKLCH لرموز تصميم Tailwind v4. إخراج موحّد إدراكياً حيّ مع تنبيهات نطاق Display P3. مجاني، في المتصفح فقط.

بدون تتبّع يعمل في المتصفّح مجاني
كل تحويل الألوان يجري محلياً في المتصفح. لا تُرسل أي بيانات إلى أي خادم.
النطاق اللوني: sRGB Display P3 Rec2020
التباين مقابل:
AA AA-Lg AAA AAA-Lg · APCA Lc
محاكاة عمى الألوان (8 أنواع)
<bdi>Protanopia</bdi> (عمى الأحمر)
<bdi>Deuteranopia</bdi> (عمى الأخضر)
<bdi>Tritanopia</bdi> (عمى الأزرق)
<bdi>Achromatopsia</bdi> (كلي)
<bdi>Protanomaly</bdi> (ضعف الأحمر)
<bdi>Deuteranomaly</bdi> (ضعف الأخضر)
<bdi>Tritanomaly</bdi> (ضعف الأزرق)
<bdi>Achromatomaly</bdi> (جزئي)
تدرّجات فاتحة / داكنة / محايدة / متناغمات

تدرّجات فاتحة

تدرّجات داكنة

درجات محايدة

متناغمات

نسخ كرمز
مرجع الألوان الشائعة
مُراجَع للتوافق مع CSS Color 4 §11.2 + §15.1، وصحّة مصفوفة OKLAB الخاصّة بـOttosson 2020، وتطابق لوحة Tailwind v4، ودقّة كشف نطاق Display P3 / Rec.2020، واستقرار رحلة الذهاب والإياب بين HEX وOKLCH عبر مديات السطوع 0-1 وchroma 0-0.4 ودرجة اللون 0-360°. — فريق هندسة Go Tools · May 27, 2026

ما محوّل HEX إلى OKLCH؟

محوّل HEX إلى OKLCH أداة صغيرة تحوّل رمز لون HEX (`#3b82f6`) إلى ثلاثية السطوع الإدراكي / chroma / درجة اللون الموحّدة إدراكياً التي ترمّز اللون ذاته في فضاء OKLCH (`oklch(0.629 0.193 263.4)`). رموز HEX هي السلاسل القصيرة بأساس 16 التي يلصقها المصمّمون والمطوّرون بين Figma، وSketch، وPhotoshop، وملفات PDF لإرشادات العلامة، وأوراق أنماط CSS — ثلاث قنوات 8-بِت محزومة في شكل `#RRGGBB` من ستة أحرف، مُرتكزة على فضاء ألوان sRGB المُعرَّف في IEC 61966-2-1 عام 1996. OKLCH هو الصيغة القطبية لـOKLAB، فضاء ألوان Björn Ottosson الموحّد إدراكياً لعام 2020، أُضيف إلى CSS عبر صياغة `oklch()` في CSS Color 4 (توصية مرشّحة من W3C منذ 2022). القنوات هي السطوع الإدراكي (0-1، يقبل أيضاً 0-100%)، وchroma (0 حتى نحو 0.4 لأكثر ألوان sRGB إشباعاً، بلا حدّ أعلى للألوان واسعة النطاق)، ودرجة اللون (0-360°، المحور الزاوي ذاته الذي يستخدمه HSL). نزل دعم المتصفح عبر كل دائمة التحديث بين مارس 2022 (Safari 15.4) ومايو 2023 (Firefox 113)، مع Chrome 111 في المنتصف (مارس 2023) — تتجاوز تغطية caniuse المُجمَّعة 94%. مثال: Tailwind blue-500 هو `oklch(0.629 0.193 263.4)`.

**التوحيد الإدراكي — لماذا يهمّ.** في OKLCH (وابن العم المستطيل OKLAB)، تطابق المسافة العددية المتساوية في قناة L مسافة مُدرَكة متساوية بالسطوع — عبر كل درجة لون، وكل مستوى chroma، وكل منطقة من فضاء اللون. في HSL، تبدو قيم L المتساوية ساطعة بشكل غير متّسق عبر درجات اللون لأن HSL يرث غرابات gamma الخاصّة بـsRGB: يبدو أخضر عند `hsl(120 100% 50%)` أسطع بصرياً من أزرق عند `hsl(240 100% 50%)`، رغم أن كليهما يُبلِّغ L=50%. السبب البنيوي هو أن HSL يشتقّ L هندسياً (متوسّط الحدّ الأقصى والأدنى للقنوات في sRGB المُرمَّز بـgamma)، بينما يشتقّ OKLCH L من نموذج مُرتكز إدراكياً يُحوِّل أوّلاً إلى الخطّي ثم يمرّ عبر مرحلة استجابة مخروط LMS. النتيجة العملية: تثبيت L ثابتة عبر درجات اللون في OKLCH ينتج سطوعاً مُكافئاً بصرياً — يبدو أخضر عند `oklch(0.7 0.2 130)` وأزرق عند `oklch(0.7 0.2 250)` ساطعَيْن بالقدر ذاته على الشاشة. لهذا رحّلت Tailwind v4 لوحتها الافتراضية إلى تدرّجات قائمة على OKLCH في 2025 — تصيب كل خطوة تدرّج (50، و100، و200، …، و900، و950) فرق السطوع الإدراكي ذاته، فتشعر ألوان العلامة بأنها متسقة عبر درجات اللون دون ضبط يدوي لكل لون.

**Tailwind v4 وثورة رمز التصميم.** استبدلت Tailwind v4 (الصادرة في يناير 2025) توليد ألوانها القائم على HSL بنظام قائم على OKLCH. تبعتها shadcn/ui بعد قليل، فاعتمدت OKLCH لسمتها القائمة على متغيّرات CSS؛ واعتمدته Radix Colors v3 أيضاً. لماذا الآن: تحتاج أنظمة التصميم تدرّجات تبدو متباعدة بالتساوي عبر اللوحة بأكملها، وتحتاج إلى أن تثبت هذه الخاصّية تلقائياً مع نموّ اللوحة. مع HSL، اضطُرّ المصمّمون إلى تصحيح كل خطوة لون يدوياً — رفع L بـ5% إضافية عند الطرف الداكن من تدرّج الأزرق ليطابق الطرف الداكن من تدرّج الأخضر، ثم إعادة الرفع حين تتطوّر العلامة. مع OKLCH، تنتج صيغة واحدة (درّج L بـ0.1، وثبّت C وH) تدرّجات متّسقة تلقائياً. مثال حقيقي: في Tailwind v3، كان لـred-500 وblue-500 أوزان مُدرَكة مختلفة بصرياً رغم تساوي L% في HSL؛ وفي v4، يبدو red-500 وblue-500 متوازنَيْن لأن كليهما يجلس عند L ذاتها في OKLCH. هذا يهمّ للوصولية (التباين المتّسق مقابل الخلفيات المشتركة يعني أن حالات المكوّنات تشعر بأنها موحّدة عبر اللوحة)، واتساق العلامة (يثبت التراتب البصري عبر اللوحات — يشعر زرّ `primary` وزرّ `accent` عند L ذاتها بأنهما في مستوى التراتب ذاته)، وأرغونوميا المطوّرين (نموذج ذهني واحد بدلاً من عشرات الاستثناءات المضبوطة يدوياً المدفونة في مواصفة رمز التصميم).

**تبعات النطاق الواسع.** OKLCH غير محدود — يستطيع تمثيل ألوان خارج sRGB، بما في ذلك كل ما يستطيع Display P3 وRec.2020 إعادة إنتاجه. هذا يجعله الخيار الطبيعي للشاشات الحديثة واسعة النطاق. تعرض معظم أجهزة Apple منذ 2017 (iPhone 7 فما بعد، وMacBook Pro 2016 فما بعد، وكل iPad Pro) Display P3 أصلياً، وكثير من أجهزة Android الحديثة وشاشات الحواسيب المحمولة أيضاً. المقايضة: ليس كل ثلاثي OKLCH يُسقَط على لون sRGB صالح. تعرض الأداة ثلاث شارات نطاق — sRGB، وDisplay P3، وRec.2020 — فتستطيع أن ترى فوراً ما إذا كان OKLCH الحالي سيُعرَض بصورة صحيحة على هدف معيّن. حين يكون اللون لـsRGB فقط، يستخدم زرّ **«تثبيت على sRGB»** تقليص chroma الثنائي (بحسب خوارزمية تخطيط النطاق الإعلامية في CSS Color 4 §13) لتقليص اللون إلى داخل النطاق مع الحفاظ على L وH — مما يعطيك احتياط HEX تستطيع شحنه عبر `@supports not (color: oklch(0 0 0))` إلى جانب قيمة OKLCH الأصلية للعملاء على نطاق أوسع.

**رياضيات تحويل HEXOKLCH.** خطّ الأنابيب محدّد بإحكام ومُجذَّر في مصدرَيْن أصليَّيْن: W3C CSS Color 4 لمراحل sRGB وXYZ، وOttosson 2020 لمرحلة OKLAB. الخطوة الأولى: حلّل `#RRGGBB` إلى ثلاث قنوات sRGB صحيحة 8-بِت عبر `parseInt(hex.slice(1, 3), 16)` لكل قناة. الخطوة الثانية: طبّع كل قناة إلى 0-1 بالقسمة على 255. الخطوة الثالثة: فكّ ترميز gamma إلى linear-sRGB عبر دالّة CSS Color 4 §11.2 القطاعية (`v <= 0.04045 ? v/12.92 : ((v+0.055)/1.055)^2.4`). الخطوة الرابعة: اضرب بمصفوفة §15.13×3 للحصول على إحداثيات CIE XYZ D65. الخطوة الخامسة: اضرب بمصفوفة LMS الخاصّة بـOttosson (من تنفيذه المرجعي لعام 2020) وخذ الجذر المكعّب لكل قناة. الخطوة السادسة: اضرب بمصفوفة OKLAB الخاصّة بـOttosson للحصول على L / a / b. الخطوة السابعة: ديكارتي إلى قطبي — `C = sqrt(a² + b²); H = atan2(b, a) * 180 / π`، لفّ H إلى 0-360°. يجري خطّ الأنابيب الكامل في ميكروثوانٍ — تُعيد كل ضغطة مفتاح عرض إخراج OKLCH فوراً دون أي تأخير.

سير عمل HEXOKLCH في هذه الأداة اتجاه واحد من عائلة من خمسة أذرع تشترك جميعها في محوّل الألوان الموحّد الأساسي. محوّل الألوان الموحّد هو المركز — يعرض كل الصيغ التسع قابلة للتحرير في آن واحد وهو الأداة الصحيحة حين يحتاج سير عملك أكثر من HEX وOKLCH. تستهدف الأذرع ذات الاتجاه الواحد نوايا بحث محدّدة في Google: محوّل HEX إلى RGB لاتجاه canvas والعتاد، ومحوّل RGB إلى HEX للاتجاه المعاكس، ومحوّل HEX إلى HSL لفضاء المصمّم الأسطواني الإرثي المستخدم في كثير من قواعد كود Tailwind v3، ومحوّل HEX إلى CMYK لتقديرات تجهيز الطباعة. تشترك الأذرع الخمسة والمركز في مرجع OKLCH الأصلي ذاته داخلياً وفي مصفوفات Ottosson 2020 ذاتها، فالنتائج مضمونة الانطباق عبر العائلة. يجري كل تحويل محلياً في المتصفح — رموز HEX الخاصّة بك لا تُرفع أبداً، ولا تُسجَّل، وصفر طلبات شبكة تنطلق أثناء الكتابة. تحقّق في DevTools. للتعمّق في سبب تحوّل OKLCH إلى معيار أنظمة التصميم بين 2024 و2026، اقرأ دليلنا المرافق: شرح فضاء ألوان OKLCH — لماذا اعتمدته Tailwind v4.

// 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)

أبرز الميزات

إخراج موحّد إدراكياً عبر كل درجات اللون

قناة L في OKLCH مُرتكزة على نموذج OKLAB الإدراكي (Ottosson 2020)، فتبدو كل خطوة L تغيير سطوع بالقدر ذاته عبر كل درجات اللون — يُقرَأ أخضر عند `oklch(0.7 0.2 130)` وأزرق عند `oklch(0.7 0.2 250)` ساطعَيْن بالتساوي على الشاشة. هذه هي الخاصّية البنيوية التي تتيح لـTailwind v4 توليد تدرّجات موحّدة بصرياً تلقائياً دون ضبط يدوي لكل لون، الخاصّية ذاتها التي لا يضمنها تدرّج HSL المكافئ لأن HSL يرث غرابات gamma الخاصّة بـsRGB.

جاهز لـTailwind v4 — أسقطه في كتل `@theme`

يستخدم إخراج OKLCH شكل CSS Color 4 المفصول بمسافات (`oklch(0.629 0.193 263.4)`) — الصياغة الدقيقة التي تتوقّعها Tailwind v4 داخل كتلة `@theme` بوصفها `--color-primary: oklch(0.629 0.193 263.4);`. تطابق دقّة L الدقّة المنشورة في لوحة Tailwind (ثلاث منازل عشرية على L وC، ودرجة عشرية واحدة على H)، فينتج سير عمل اللصق في الإعداد رموزاً مطابقة لتلك التي تشحنها Tailwind افتراضياً. اقرنها بمقتطف Tailwind v4 في قسم «نسخ كرمز» لسطر الرمز الكامل.

شارات نطاق Display P3 + Rec.2020

ثلاث شارات حيّة (sRGB، وDisplay P3، وRec.2020) تُعلِم ما إذا كان ثلاثي OKLCH الحالي يندرج داخل المدى القابل للإنتاج لكل فضاء. مفيدة لأن OKLCH غير محدود — كثير من الألوان عالية chroma تتجاوز sRGB لكنها تندرج في P3، الذي تستطيع معظم أجهزة Apple منذ 2017 عرضه أصلياً. تتحوّل الشارات إلى الحمراء عند الخروج عن النطاق فتقرّر إن كنت تحتفظ بالقيمة واسعة النطاق للشاشات الحديثة أو تثبّت على sRGB للتوافق الشامل. يجري فحص مدى القناة عند كل ضغطة مفتاح.

«تثبيت على sRGB» للتوافق الإرثي

يشغّل زرّ «تثبيت على sRGB» تقليص chroma الثنائي (خوارزمية CSS Color 4 §13 الإعلامية): ثبّت L وH، وابحث عن C نزولاً حتى يبقى تحويل sRGB الناتج داخل النطاق. ينتهي البحث في نحو 30 تكراراً بدقّة دون البكسل. الحفاظ على L وH يعني أن اللون المُثبَّت يُقرَأ بوصفه عائلة درجة اللون ذاتها بالسطوع ذاته — يفقد الإشباع فقط، وهي المساومة الأقلّ إزعاجاً بصرياً. يقترن HEX المُثبَّت بـOKLCH الأصلي عبر `@supports not (color: oklch(0 0 0))` لاحتياط طبقي.

تحويل فوري لكل ضغطة مفتاح

لا يوجد زرّ «تحويل». اكتب حرفاً واحداً في حقل HEX فيتحدّث حقل OKLCH في إطار الرسوم المتحرّكة ذاته. التمثيل القانوني الداخلي هو ثلاثي OKLCH ذاته، فتحرير OKLCH مباشرةً سريع بالقدر ذاته — يبقى المؤشّر حيث وضعته، وتُعاد حقول الصيغ الأخرى فقط. تجري رياضيات التحويل (sRGB → خطّي → XYZLMSOKLAB → قطبي) في ميكروثوانٍ؛ بلا تأخير، وبلا كمون، وبلا تدفّق مرئي.

مثال محلول عبر خطّ أنابيب W3C + Ottosson 2020

يشحن قسم مثال الرمز تنفيذاً عاملاً بـJavaScript لخطّ أنابيب HEXOKLCH الكامل باستخدام المصفوفات الدقيقة ودالّة gamma المنشورة في W3C CSS Color 4 (§11.2 gamma قطاعية، و§15.1 مصفوفة linear-sRGBXYZ D65) والتنفيذ المرجعي لـOKLAB الخاصّ بـBjörn Ottosson لعام 2020. الصقه في Node REPL وتحقّق من أن `#3b82f6` يعطي `oklch(0.629 0.193 263.4)`. كل قيمة مصفوفة منسوخة-ملصوقة من مصدرها الأصلي — لا إعادات اشتقاق ولا تقريب.

ثنائي الاتجاه مع HSL / RGB / HEX في المركز الموحّد

رغم أن هذا الذراع يستهدف HEXOKLCH تحديداً، تكشف الصفحة ذاتها حقول الصيغ الثمانية الأخرى أيضاً — RGB للعتاد، وHSL لـCSS الإرثية، وOKLAB لرياضيات اللوحات، وHSV/HWB لواجهات المنتقي، وCMYK للطباعة، وأقرب لون CSS مُسمّى. يعني مرجع OKLCH الأصلي الداخلي أن كل حقل مستقرّ على مستوى البِت عبر رحلات الذهاب والإياب: HEXOKLCHHSLHEX تستعيد HEX الأصلي. انقر داخل أي حقل لتحريره مباشرةً وراقب الآخرين يتحدّثون.

ملخّص دعم المتصفح سطرياً

تُسطِّح الأداة نقاط بيانات دعم المتصفح القانونية حيث تكون ذات صلة: Chrome وEdge 111 (مارس 2023)، وSafari 15.4 (مارس 2022 — الأبكر)، وFirefox 113 (مايو 2023)، تتجاوز تغطية caniuse المُجمَّعة 94%. للعملاء الأقدم، لفّ الرموز في `@supports (color: oklch(0 0 0))` وقدّم احتياط HEX في الفرع البديل. إخراج «تثبيت على sRGB» هو ذلك الاحتياط بالضبط، مُولَّداً تلقائياً من ثلاثي OKLCH الحالي — لا حاجة إلى ضبط chroma يدوياً.

100% في المتصفح — بلا رفع، بلا تتبّع

كل تحليل HEX، وتحويل OKLCH، وكشف النطاق، وتقييم التباين، وتوليد اللوحات يجري محلياً في المتصفح. رموز HEX الخاصّة بك لا تُنقَل أبداً، ولا تُسجَّل على أي خادم، ولا تُحلَّل. صفر طلبات شبكة أثناء الكتابة — تحقّق في DevTools. آمن للوحات علامات لم يُعلَن عنها، ورموز تصميم داخلية لمنتجات لم تُطلَق بعد، ونماذج مسوّدة تحت اتفاقية سرّية، وأي عمل لون سرّي آخر لا يمكن تسريب قيمته.

بدائل محوّل HEX إلى OKLCH

OKLCH.com

أداة متصفّح

أداة جميلة الصنع تركّز على <bdi>OKLCH</bdi> من <bdi>Andrey Sitnik</bdi> (مؤلّف ملحق <bdi>postcss-oklab-function</bdi> و<bdi>Autoprefixer</bdi>). الأفضل في فئتها لاستكشاف <bdi>OKLCH</bdi> الخالص بمنتقي واعٍ بالنطاق الواسع، وتصوّر واعٍ بـ<bdi>P3</bdi>، وتوليد لوحات. لا تغطّي تحويل <bdi>HEX</bdi>/<bdi>RGB</bdi>/<bdi>HSL</bdi>/<bdi>CMYK</bdi> كإخراجات أساسية — مركّزة على <bdi>OKLCH</bdi> وحده. الجأ إلى <bdi>OKLCH.com</bdi> حين تجري عمل <bdi>OKLCH</bdi> تصميمياً عميقاً؛ والجأ إلى هذه الأداة حين تحتاج أيضاً تحويلاً عبر الفضاءات وميزات النطاق والتباين و<bdi>CVD</bdi>.

Tailwind v4 Documentation Palette

مرجع توثيق

تنشر توثيقات <bdi>Tailwind v4</bdi> اللوحة الافتراضية الكاملة في <bdi>OKLCH</bdi> إلى جانب مكافئات <bdi>HEX</bdi>. الأفضل للبحث عن درجة <bdi>Tailwind</bdi> دقيقة (`<bdi>blue-500</bdi>` → `<bdi>oklch(0.629 0.193 263.4)</bdi>`) أو لمطابقة الألوان المخصّصة بالوزن البصري لدرجة <bdi>Tailwind</bdi>. غير تفاعلية — لا تحويل لرموز <bdi>HEX</bdi> اعتباطية. تغطّي هذه الأداة دقّة <bdi>OKLCH</bdi> ذاتها وتعمل لأي <bdi>HEX</bdi>، لا لـ<bdi>200+</bdi> افتراضي <bdi>Tailwind</bdi> فقط.

ColorJS.io Playground

أداة متصفّح

<bdi>ColorJS.io</bdi> هي مكتبة ألوان <bdi>CSS</bdi> المرجعية لـ<bdi>Lea Verou</bdi> و<bdi>Chris Lilley</bdi>؛ تكشف الساحة الرسم البياني الكامل للتحويل (<bdi>HEX</bdi>، و<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>HWB</bdi>، و<bdi>LCH</bdi>، و<bdi>OKLCH</bdi>، و<bdi>OKLAB</bdi>، و<bdi>P3</bdi>، و<bdi>Rec2020</bdi>، و<bdi>ProPhoto</bdi>، و<bdi>A98</bdi>). رياضيات صحيحة بعمق، مثالية لعمل الألوان على مستوى المواصفة. الواجهة مركّزة على المطوّر (لا على المصمّم) وتفتقر إلى ميزات التباين و<bdi>CVD</bdi> واللوحات. اقرنها بهذه الأداة: استخدم <bdi>ColorJS.io</bdi> للرياضيات التي لا تستطيع التحقّق منها بطريقة أخرى، واستخدم هذه الأداة لمسارات العمل النشطة.

shadcn/ui Themes Generator

أداة متصفّح

ينتج مولّد سمات <bdi>shadcn</bdi> من <bdi>Vercel</bdi> سمات متغيّرات <bdi>CSS</bdi> بـ<bdi>OKLCH</bdi> جاهزة للّصق لمشاريع <bdi>shadcn/ui</bdi>. الأفضل لتوليد السمة من النهاية إلى النهاية حين يكون المُسلَّم ملفّ إعداد <bdi>shadcn</bdi>. لا يُسطِّح قيم <bdi>OKLCH</bdi> الوسيطة لرموز <bdi>HEX</bdi> اعتباطية — مركّز على سير عمل السمة الكامل. استخدم مولّد <bdi>shadcn</bdi> حين تبني سمة <bdi>shadcn</bdi>؛ واستخدم هذه الأداة حين تحتاج <bdi>OKLCH</bdi> لأي لون فردي.

ColorHexa

أداة متصفّح

صفحات <bdi>SEO</bdi> لكل لون طويلة الأمد ببيانات وصف عميقة. أُضيف دعم <bdi>OKLCH</bdi> مؤخراً إلى جانب <bdi>HEX</bdi>/<bdi>RGB</bdi>/<bdi>HSL</bdi>/<bdi>CMYK</bdi>. الواجهة قديمة (مطلع <bdi>2010</bdi>)، لا كشف نطاق واسع، ولا تباين <bdi>APCA</bdi>. قوية لاكتشاف <bdi>SEO</bdi> لـ<bdi>HEX</bdi> محدّد عبر <bdi>Google</bdi>؛ أضعف لمسارات التحويل النشطة حيث تهمّ تجربة الحقول الموحّدة وميزات النطاق والتباين. تتفوّق هذه الأداة على كل محور لسير عمل نشط.

Browser DevTools Color Picker

ميزة متصفّح مدمجة

تشحن <bdi>DevTools</bdi> في <bdi>Chrome</bdi>، و<bdi>Firefox</bdi>، و<bdi>Safari</bdi> منتقي ألوان يبدّل بين <bdi>HEX</bdi>، و<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>HWB</bdi>، و<bdi>OKLCH</bdi> سطرياً حين تنقر عيّنة لون في لوحة <bdi>CSS</bdi>. مجاني، لا تثبيت، دائماً متوفّر. ينقصه شارات النطاق، وتقييم التباين، ومحاكاة عمى الألوان، وتصدير الرمز لمنصّات غير الويب (<bdi>SwiftUI</bdi>، و<bdi>Compose</bdi>). الجأ إلى <bdi>DevTools</bdi> حين تكون مشغولاً بتنقيح <bdi>CSS</bdi>؛ والجأ إلى هذه الأداة حين تحتاج إخراجاً متعدّد المنصّات أو الفحوصات الأعمق.

Culori CLI

مكتبة سطر أوامر

<bdi>Culori</bdi> هي أكثر مكتبات ألوان <bdi>JavaScript</bdi> شمولاً وعياً بـ<bdi>OKLCH</bdi>؛ تتعامل واجهتها سطر الأوامر مع تحويل <bdi>HEX</bdi> → <bdi>OKLCH</bdi> كسطر واحد (`<bdi>culori convert '#3b82f6' --to oklch</bdi>`). ممتازة لسكربتات <bdi>CI</bdi> وترحيل الرموز بالدفعات. لا منتقي بصري ولا شارات نطاق. استخدم <bdi>Culori CLI</bdi> للأتمتة؛ واستخدم هذه الأداة للعمل التفاعلي بلون واحد والتغذية البصرية الفورية.

أمثلة على HEX إلى OKLCH

ترحيل لوحة HSL في Tailwind 3 → رموز OKLCH لـv4

#3b82f6

إخراج OKLCH: `oklch(0.629 0.193 263.4)`. سير عمل ترحيل Tailwind v4 القانوني: عرّف لون العلامة مرة واحدة في كتلة `@theme` بوصفه `--color-primary: oklch(0.629 0.193 263.4)`، ثم اصنع التدرّجات الفاتحة بتدريج L إلى الأعلى (`oklch(0.7 0.193 263.4)`، و`oklch(0.8 0.15 263.4)`) والتدرّجات الداكنة بتدريج L إلى الأسفل (`oklch(0.5 0.193 263.4)`، و`oklch(0.4 0.18 263.4)`). تبقى درجة اللون مثبتة عند 263.4°، ويرسو chroma قرب 0.19، والسطوع وحده هو المحور الذي يتدرّج — تدرّج أحادي البُعد يُقرأ بصرياً موحّداً عبر السلّم كله، وهو ما لا يضمنه تدرّج HSL المكافئ.

ترحيل رموز التصميم بتدرّجات داكنة موحّدة إدراكياً

#FF5733

إخراج OKLCH: نحو `oklch(0.66 0.18 28)`. لبناء تدرّج داكن من خمس خطوات من برتقالي العلامة هذا، ثبّت C = 0.18 وH = 28، ودرّج L عبر 0.3، و0.45، و0.6، و0.75، و0.9 — منتجاً `oklch(0.3 0.18 28)` حتى `oklch(0.9 0.18 28)`. يبدو كل زوج متجاور قفزةً بصريةً بالسطوع ذاتها، لأن L في OKLCH مُرتكزة على نموذج OKLAB الإدراكي (Ottosson 2020) بدلاً من L الهندسية المتشابكة بـgamma في HSL. قد يُقَصُّ chroma بهدوء نحو sRGB عند الحدّيْن؛ وتُعلِم شارات النطاق اللوني في الأداة بدقّة أي خطوات تحتاج انتباهاً.

OKLCH واسع النطاق → احتياط sRGB لمواقع Tailwind v3

#FF1744

إخراج OKLCH: نحو `oklch(0.62 0.27 26)`. يتجاوز أحمر عالي chroma كهذا مكعّب sRGB — تضيء شارة نطاق **sRGB** حمراء، وتؤكّد شارة **Display P3** أنه يندرج في P3، ويغطّيه Rec.2020 أيضاً. على شاشة 24-بِت قياسية يُعرَض كتقريب مُخفَّف الإشباع؛ وعلى شاشة Display P3 (معظم أجهزة Apple منذ 2017) يُعرَض مُشبَعاً. انقر **«تثبيت على sRGB»** لتشغيل خوارزمية تقليص chroma الثنائي (CSS Color 4 §13 إعلامية) — تبقى L وH مثبتتَيْن بينما يتقلّص C حتى يندرج اللون، منتجاً احتياط HEX مناسباً لقاعدة كود Tailwind v3 ما زالت تستخدم رموز HEX ذات 8 بِت.

ترحيل سمة shadcn/ui

#0f172a

إخراج OKLCH: نحو `oklch(0.21 0.04 264.7)`. رحّلت shadcn/ui سمتها القائمة على متغيّرات CSS إلى OKLCH بُعَيد نزول Tailwind v4، و`#0f172a` (Tailwind slate-900) هي خلفية الوضع الداكن القانونية. تُنتج الأداة قيمة OKLCH التي نشرتها shadcn لـHEX ذاته، فتستطيع التحقّق من أن نقل سمة مجتمعية يطابق التعريف الأصلي. اقرنها بصفّ التباين للتأكّد من أن مقدّمة الوضع الداكن (أبيض أو شبه أبيض) ما زالت تجتاز WCAG AA مقابل هذه الخلفية — `oklch(0.21 ...)` مقابل `oklch(1 0 0)` يُبلِّغ نسبة مريحة 16:1.

ابنِ زوج وضع داكن/فاتح في Tailwind v4 من HEX علامة

#3b82f6

إخراج OKLCH: `oklch(0.629 0.193 263.4)`. لاشتقاق زوج وضع داكن/فاتح متناسق لسمة، حرّك قناة L وحدها مع تثبيت C وH: تصبح الأوّلية في الوضع الفاتح `oklch(0.7 0.15 263)` (أسطع قليلاً، وأقلّ chroma قليلاً لتجنّب إجهاد العين على الخلفيات البيضاء)، وتصبح الأوّلية في الوضع الداكن `oklch(0.5 0.18 263)` (أغمق قليلاً، وأعلى chroma قليلاً للحفاظ على البروز على الخلفيات الداكنة). يقرأ كلا المتغيّرَيْن بوصفه هويّة العلامة ذاتها لأن درجة اللون مثبتة؛ وتوازن إزاحة L الإدراكية القراءة عبر الوضعَيْن دون ضبط يدوي لكل قناة RGB.

تحويلات HEXOKLCH الشائعة (Tailwind v4)

جدول مرجعي لـ10 درجات متوسّطة شائعة من اللوحة الافتراضية لـTailwind v4 مع مكافئات HEX وOKLCH. تطابق القيم الدقّة المنشورة في لوحة Tailwind v4 (ثلاث منازل عشرية على L وC، وعدد صحيح أو منزلة عشرية واحدة على H).

<bdi>Tailwind slate-500</bdi>

#64748b oklch(0.55 0.04 257)

slate-500 الافتراضي في Tailwind CSS — الرمادي البارد المحايد المستخدم لنصّ المحتوى، والأسطح الثانوية، وعناصر الواجهة المُخفَّفة التركيز. chroma منخفض (0.04) يبقيه محايداً بصرياً.

#64748b oklch(0.55 0.04 257)

<bdi>slate</bdi> هو التدرّج المحايد القانوني للسمات الصديقة للوضع الداكن — يجلس كل تدرّج <bdi>slate</bdi> عند <bdi>chroma</bdi> منخفض جداً فيُقرَأ رمادياً بدلاً من مزرق.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind gray-500</bdi>

#6b7280 oklch(0.55 0.03 258)

gray-500 الافتراضي في Tailwind CSS — النظير المحايد الحقيقي لـslate. chroma أقلّ قليلاً من slate (0.03 مقابل 0.04) لمظهر لاكروماتيكي أكثر.

#6b7280 oklch(0.55 0.03 258)

<bdi>gray</bdi> و<bdi>slate</bdi> يجلسان عند <bdi>L</bdi> شبه متطابقة (<bdi>0.55</bdi>) — السطوع الإدراكي متطابق، والفرق الصغير في <bdi>chroma</bdi> وحده هو الذي يميّزهما.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind red-500</bdi>

#ef4444 oklch(0.64 0.21 25)

red-500 الافتراضي في Tailwind CSS — الأحمر القانوني للإجراء الهدّام / الخطأ. chroma عالٍ (0.21) يبقيه بارزاً مقابل الخلفيات المحايدة.

#ef4444 oklch(0.64 0.21 25)

<bdi>red-500</bdi> يجلس عند <bdi>L=0.64</bdi>، مطابقاً <bdi>blue-500</bdi> عند <bdi>L=0.63</bdi> — تدرّجات <bdi>v4</bdi> متوازنة إدراكياً عبر درجات اللون، على عكس لوحة <bdi>v3</bdi> القائمة على <bdi>HSL</bdi>.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind orange-500</bdi>

#f97316 oklch(0.71 0.19 42)

orange-500 الافتراضي في Tailwind CSS — درجة اللكنة الدافئة ودعوة العمل. يجلس بين الأحمر والكهرماني على دائرة درجة اللون (42°).

#f97316 oklch(0.71 0.19 42)

ارتفاع <bdi>L</bdi> لـ<bdi>orange-500</bdi> (<bdi>0.71</bdi>) مقابل <bdi>L</bdi> لـ<bdi>red-500</bdi> (<bdi>0.64</bdi>) مقصود — تبدو الأصفر والبرتقالي ساطعَيْن عند <bdi>L</bdi> إدراكية أقلّ من الحمر.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind amber-500</bdi>

#f59e0b oklch(0.76 0.16 70)

amber-500 الافتراضي في Tailwind CSS — درجة التحذير / التنبيه، بين البرتقالي والأصفر على العجلة.

#f59e0b oklch(0.76 0.16 70)

<bdi>amber-500</bdi> يصيب أعلى <bdi>L</bdi> (<bdi>0.76</bdi>) لأي لون من مستوى <bdi>500</bdi> في <bdi>Tailwind</bdi> — يحتاج الأصفر طبيعياً <bdi>L</bdi> أعلى ليبدو «متوسّط الدرجة» بصرياً.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind green-500</bdi>

#22c55e oklch(0.72 0.19 149)

green-500 الافتراضي في Tailwind CSS — درجة النجاح / التأكيد. يجلس عند 149° على عجلة درجة اللون، في منطقة السماوي-الأخضر.

#22c55e oklch(0.72 0.19 149)

<bdi>green-500</bdi> عند <bdi>L=0.72</bdi> أسطع قليلاً من <bdi>red-500</bdi> عند <bdi>L=0.64</bdi> — يطابق هذا الواقع الإدراكي (تبدو الخُضر ساطعة) ويعطي اللوحة وزناً بصرياً متوازناً.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind teal-500</bdi>

#14b8a6 oklch(0.7 0.13 184)

teal-500 الافتراضي في Tailwind CSS — درجة اللكنة الباردة بين الأخضر والسماوي. chroma أقلّ من green-500 لأن السماويّات عالية chroma تتجاوز sRGB بسهولة.

#14b8a6 oklch(0.7 0.13 184)

<bdi>H=184°</bdi> لـ<bdi>teal-500</bdi> يجلس بُعَيد السماوي الصرف (<bdi>180°</bdi>) — يصعب التعبير عن السماوي الصرف في <bdi>OKLCH</bdi> داخل <bdi>sRGB</bdi> دون قصّ <bdi>chroma</bdi>؛ <bdi>teal</bdi> هو المساومة العملية.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind blue-500</bdi>

#3b82f6 oklch(0.63 0.19 263)

blue-500 الافتراضي في Tailwind CSS — «الأزرق الويب» القانوني للعشرينيّات، لون مرساة العلامة للوحة v4 والسمة الافتراضية لـshadcn/ui.

#3b82f6 oklch(0.63 0.19 263)

<bdi>blue-500</bdi> هو اللون المرجعي الأكثر استخداماً كنقطة بداية لترحيل <bdi>OKLCH</bdi> في <bdi>Tailwind v4</bdi> — الصق `<bdi>#3b82f6</bdi>` هنا للتحقّق من التحويل مقابل القيمة المنشورة.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind indigo-500</bdi>

#6366f1 oklch(0.59 0.21 277)

indigo-500 الافتراضي في Tailwind CSS — رفيق اللكنة الباردة للأزرق، يجلس عند 277° (نحو الأرجواني). chroma عالٍ (0.21) يعطيه البروز.

#6366f1 oklch(0.59 0.21 277)

<bdi>indigo-500</bdi> يجلس عند <bdi>L</bdi> أقلّ من <bdi>blue-500</bdi> (<bdi>0.59</bdi> مقابل <bdi>0.63</bdi>) — تمتصّ درجة اللون الأعمق سطوعاً ظاهرياً أكثر، ويأخذ تدرّج <bdi>v4</bdi> ذلك بالحسبان إدراكياً.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

<bdi>Tailwind violet-500</bdi>

#8b5cf6 oklch(0.6 0.24 295)

violet-500 الافتراضي في Tailwind CSS — درجة لكنة الأرجواني عند 295°. أعلى chroma (0.24) لأي لون من مستوى 500 في Tailwind، يُستخدم شائعاً لعلامات منتجات الذكاء الاصطناعي / الإبداع.

#8b5cf6 oklch(0.6 0.24 295)

<bdi>C=0.24</bdi> العالي لـ<bdi>violet-500</bdi> يضعه قرب سقف نطاق <bdi>sRGB</bdi> — ادفع أعلى بكثير فيعبر إلى منطقة واسعة النطاق لـ<bdi>P3</bdi> فقط.

تحتاج المنتقي الكامل بـ<bdi>RGB</bdi>، و<bdi>HSL</bdi>، و<bdi>CMYK</bdi>، وتحذيرات النطاق، وتصدير الرمز؟ جرّب محوّل الألوان الموحّد — كل صيغة قابلة للتحرير في آن واحد.

كيفية استخدام محوّل HEX إلى OKLCH

  1. 1

    الصق رمز HEX في حقل HEX

    أنزل أي قيمة HEX في إدخال HEX — مع `#` الافتتاحية أو بدونها، باختصار ثلاثة أرقام (`#F73`)، أو شكل كامل من ستة (`#3b82f6`)، أو اختصار alpha من أربعة (`#F738`)، أو شكل كامل من ثمانية مع alpha (`#FF573380`). يُطبّع المحلّل كل الأشكال الخمسة إلى اللون الداخلي ذاته قبل اشتقاق OKLCH. لا يهمّ حجم الأحرف (`#3b82f6` و`#3B82F6` يُحلَّلان بصورة متطابقة). تنتج الأحرف غير الصالحة أو الأعداد الخاطئة من الأرقام خطأً سطرياً صامتاً؛ ويُحدِّث HEX الصالح كل حقل صيغة أخرى في الزمن الحقيقي، بما في ذلك OKLCH.

  2. 2

    اقرأ ثلاثية OKLCH من حقل OKLCH

    يُسطِّح حقل OKLCH القيمة بالشكل الحديث لـCSS Color 4: `oklch(0.629 0.193 263.4)` للون معتم، و`oklch(0.629 0.193 263.4 / 0.5)` للون ذي alpha. تُقرَّب L إلى ثلاث منازل عشرية (تطابق الدقّة المنشورة في Tailwind v4)، وC إلى ثلاث منازل عشرية، وH إلى درجة عشرية واحدة. يعني المرجع الأصلي الداخلي بـOKLCH في الأداة أن دقّة الفاصلة العائمة الأساسية تُحفَظ عبر كل حقل آخر — تبقى رحلات العودة إلى HEX مستقرّة على مستوى البِت، على عكس المحوّلات الإرثية التي تمرّ عبر HSL وتنجرف بدرجة أو درجتَيْن في كل رحلة.

  3. 3

    انقر «نسخ» لالتقاط سلسلة OKLCH

    لكل بطاقة صيغة زرّ «نسخ» على اليمين. نقرة واحدة فتنزل القيمة على حافظتك — يومض نصّ الزرّ بسرعة بكلمة «نُسخت!» لإعلامك. السلسلة المنسوخة هي صياغة CSS Color 4 القانونية (`oklch(0.629 0.193 263.4)`)، جاهزة للإسقاط في كتلة `@theme` في Tailwind v4 أو تعريف متغيّر CSS في shadcn/ui. لإخراج خاصّ بمنصّة محدّدة (خاصّية CSS مخصّصة، ورمز Tailwind v4، وSwiftUI، وCompose، وFlutter)، استخدم قسم «نسخ كرمز» تحت المنتقي — تُصدِر تلك المقتطفات الصيغة التي تتوقّعها كل منصّة أصلياً.

  4. 4

    تحقّق من شارتَيْ نطاق Display P3 / Rec.2020

    تعرض ثلاث شارات نطاق (sRGB، وDisplay P3، وRec.2020) ما إذا كان اللون الحالي يندرج داخل المدى القابل للإنتاج لكل فضاء. إذا تحوّلت شارة sRGB إلى الحمراء لكن P3 خضراء، فاللون OKLCH واسع النطاق يُعرَض مُشبَعاً على عتاد Apple (iPhone، وiPad، وMacBook من 2017 فما بعد) لكنه يُخفَّف الإشباع على شاشة 24-بِت قديمة. يستخدم زرّ **«تثبيت على sRGB»** تقليص chroma الثنائي (خوارزمية CSS Color 4 §13 الإعلامية) لتقليص اللون إلى داخل sRGB مع الحفاظ على L وH، منتجاً احتياط HEX تستطيع شحنه عبر `@supports not (color: oklch(0 0 0))`.

  5. 5

    ظاهرة أيضاً: RGB، وHSL، وOKLAB، وHSV، وHWB، وCMYK، واسم اللون

    يُضيء HEX ذاته الذي تلصقه حقول الصيغ الثمانية الأخرى أيضاً — RGB لاستدعاءات canvas والعتاد، وHSL لمتغيّرات CSS الإرثية، وOKLAB لرياضيات اللوحات ومصفوفات عمى الألوان، وHSV وHWB لمسارات منتقي ألوان المصمّمين، وCMYK لتقديرات الطباعة، وأقرب لون CSS مُسمّى لنثر التوثيق. أنت غير مقيّد بـHEXOKLCH فقط. يقود المنتقي (مربّع SL + منزلق درجة اللون + منزلق alpha) كل التسعة في آن واحد، وعلى متصفحات Chromium يأخذ زرّ EyeDropper عيّنة من أي بكسل على الشاشة، بما في ذلك خارج المتصفح.

أخطاء HEX / OKLCH الشائعة

قراءة chroma في OKLCH مثل إشباع HSL

chroma في OKLCH غير محدود (0 حتى نحو 0.4 للألوان التي تندرج في sRGB، أعلى للواسع النطاق) — إنه ليس نسبة إشباع 0-100% مثل S في HSL. افتراض أن C=0.3 يعني «30% إشباعاً» يُساء قراءة السلّم: 0.3 عالي chroma، قرب سقف sRGB لبعض درجات اللون وأبعد منه لأخرى. يتفاوت أقصى C بحسب L وH — يدعم أخضر عند L=0.7 C أعلى بكثير من أزرق عند L=0.3. تعامل مع C بوصفه مسافة مطلقة من الرمادي، لا نسبة مئوية نسبية.

✗ خطأ
Set OKLCH C = 0.3 expecting "30% saturation":
oklch(0.7 0.3 250) → may exceed sRGB gamut for blues
Wide-gamut color renders desaturated on legacy displays.
✓ صحيح
Treat C as absolute chroma, check gamut badges:
oklch(0.7 0.15 250) → comfortably in sRGB for this L+H pair
Use the badges to find the max C that fits the target gamut.

معاملة L في OKLCH مثل L في HSL

يُبلِّغ الفضاءان عن السطوع على محور 0-1 (أو 0-100%)، لكنهما يقيسان أشياء مختلفة. L في HSL هندسية — مُشتقّة من متوسط الحدّ الأقصى/الأدنى لقنوات RGB في sRGB المُرمَّز بـgamma. L في OKLCH إدراكية — مُرتكزة على نموذج OKLAB. نقل لوحة قائمة على HSL بوصفها `oklch(L%, C, H)` وتوقّع تطابق السطوع ينتج نتائج غير موحّدة لأن العلاقة بين L في الفضاءَيْن لاخطّية. للألوان متوسّطة الدرجة، L في OKLCH = 0.6 تقريباً L في HSL = 50%، لكن المنحنى ينجرف عند الطرفَيْن الداكن والفاتح.

✗ خطأ
Copy HSL L percentages into OKLCH directly:
hsl(220 50% 30%) ported as oklch(0.30 0.10 220)
The two colors look noticeably different in brightness.
✓ صحيح
Re-derive OKLCH from the original hex, don't port HSL:
hex source → OKLCH conversion → oklch(0.34 0.08 254)
The perceptual L stays correct; the palette feels even.

نسيان أن OKLCH واسع النطاق لن يُعرَض في sRGB

OKLCH غير محدود — تستطيع كتابة `oklch(0.7 0.4 30)` والصياغة صالحة، لكن chroma يتجاوز ما يستطيع فضاء sRGB ذي البايت 256-لكلّ-قناة ترميزه. على شاشة sRGB، يُقصّ ذلك اللون إلى أقرب تقريب داخل النطاق (عادةً نسخة مُخفَّفة الإشباع). على شاشة Display P3، يُعرَض بصورة صحيحة. شحن OKLCH واسع النطاق دون فحص شارات النطاق ينتج لوناً يبدو مختلفاً على شاشات مختلفة — خلل اتساق دقيق لكن حقيقي عبر المنصّات.

✗ خطأ
Ship oklch(0.7 0.4 30) without checking sRGB gamut:
P3 displays render saturated red; sRGB displays render desaturated
Brand color looks inconsistent across user hardware.
✓ صحيح
Check sRGB gamut badge, Snap to sRGB if needed, layer with @supports:
@supports (color: oklch(0 0 0)) { --primary: oklch(0.7 0.4 30); }
@supports not (color: oklch(0 0 0)) { --primary: #ef6b50; }
P3 hardware gets the wide-gamut value; sRGB hardware gets the snapped fallback.

غياب دعم المتصفح لـ`oklch()`

نزل تحليل `oklch()` الأصلي في Chrome وEdge 111 (مارس 2023)، وSafari 15.4 (مارس 2022)، وFirefox 113 (مايو 2023). تتجاوز تغطية caniuse المُجمَّعة 94%، لكن الـ6% المتبقّية تشمل IE 11، وSafari القديم على iOS 15.3 أو أقدم، وAndroid Chrome القديم، وwebviews المضمّنة. شحن `oklch()` دون احتياط لذلك الذيل الطويل يُعرَض بوصفه قيمة `inherit` في CSS أو يفشل تماماً. اكتشف الميزة دائماً بـ`@supports` للمواقع الإنتاجية ذات الجمهور الواسع.

✗ خطأ
Define brand color in OKLCH only:
:root { --primary: oklch(0.629 0.193 263.4); }
IE 11 and old iOS Safari render no color at all.
✓ صحيح
Layer with @supports for graceful fallback:
:root { --primary: #3b82f6; }
@supports (color: oklch(0 0 0)) { :root { --primary: oklch(0.629 0.193 263.4); } }
Modern browsers get OKLCH; legacy browsers get the hex fallback.

الخلط بين OKLCH وLCH (الصيغة القطبية لـCIE-LAB)

تشحن CSS Color 4 كلّاً من `oklch()` و`lch()`. يبدوان متطابقَيْن في الشكل (L / C / H) لكنهما يستخدمان فضاءَيْن مختلفَيْن: `lch()` هو الصيغة القطبية لـCIE-LAB (1976)، و`oklch()` هو الصيغة القطبية لـOKLAB (Ottosson 2020). ليسا قابلَيْن للتبادل — `lch(60% 50 240)` و`oklch(0.6 0.15 240)` يصفان ألواناً مختلفة. ينهار التوحيد الإدراكي لـCIE-LAB حول الأزرقات المُشبَعة، ولهذا أعاد Ottosson اشتقاق OKLAB. لأعمال أنظمة التصميم الجديدة، فضّل `oklch()` على `lch()`.

✗ خطأ
Substitute lch() for oklch() expecting same result:
lch(60% 50 240) ≠ oklch(0.6 0.15 240) — different colors entirely
Copy-pasted across spaces, the value is silently wrong.
✓ صحيح
Pick one space and stay in it:
oklch(0.629 0.193 263.4) for modern design systems
or lch(60% 50 240) — but don't swap function names without re-converting

من يستخدم HEX إلى OKLCH

مطوّرو الواجهة الأمامية يرحّلون إلى رموز OKLCH في Tailwind v4
توحّدت Tailwind v4 على OKLCH للوحتها الافتراضية في يناير 2025. يعني ترحيل قاعدة كود v3 بألوان علامة قائمة على HEX تحويل كل HEX إلى OKLCH وإسقاط النتيجة في كتلة `@theme` الجديدة. الصق كل HEX هنا، وانسخ قيمة `oklch()`، وعرّف `--color-primary: oklch(0.629 0.193 263.4)` وأمثاله. تُعلِم شارات النطاق الحيّة أي ألوان تتجاوز sRGB فتقرّر إن كنت تحتفظ بالقيمة واسعة النطاق لمستخدمي Display P3 أو تثبّت على sRGB.
مؤلّفو سمات shadcn/ui يبنون لوحات مخصّصة
تستخدم سمة shadcn/ui القائمة على متغيّرات CSS OKLCH لكل رمز (`--background`، و`--foreground`، و`--primary`، إلخ). تشتقّ السمات المخصّصة من HEX علامة أساسي بالتحويل إلى OKLCH ثم تحريك L لمتغيّرات الوضع الفاتح/الداكن. الصق HEX العلامة، اقرأ ثلاثي OKLCH، ابنِ بقيّة السمة بتدريج L مع تثبيت C وH. يطابق سير عمل shadcn القانوني تماماً.
مؤلّفو أنظمة التصميم يولّدون تدرّجات موحّدة إدراكياً
ولّد تدرّج 50/100/200/.../900 بتدريج قناة L بزيادات OKLCH متساوية مع تثبيت C وH. تبدو الفجوة البصرية بين كل خطوتَيْن متجاورتَيْن مطابقة عبر كل درجة لون — وهو ما تحتاجه لوحة ألوان العلامة فعلاً. تستخدم Tailwind v4 هذا البناء بالضبط للوحتها الافتراضية، وتعكسها shadcn/ui. الصق كل HEX علامة، اقرأ OKLCH، ولّد التدرّج خوارزمياً أو عبر لوحة التدرّجات الفاتحة/الداكنة/المحايدة تحت المنتقي.
مهندسو الوصولية يتحقّقون من التباين في فضاء OKLCH
يُبلِّغ تباين WCAG 2.1 وAPCA مقابل لون sRGB المُحَلّ، لا ثلاثي OKLCH — لكن معرفة L الخاصّة بـOKLCH للون علامة تجعل ضبط التباين قابلاً للتنبؤ: ارفع L بـ0.1 لاجتياز AA مقابل الأبيض، وأنقصها بـ0.1 لاجتياز AA مقابل الأسود. تجعل النظرة المتزامنة لـOKLCH + WCAG + APCA العلاقة مرئية. الصق HEX العلامة، راقب شارات التباين، اضبط L في OKLCH (أكثر قابلية للتنبؤ من HSL) حتى يجتاز الزوج كلا المقياسَيْن.
مطوّرو الويب يبنون رموز ألوان واسعة النطاق للشاشات الحديثة
تعرض معظم أجهزة Apple منذ 2017 (وكثير من أجهزة Android الحديثة) Display P3 أصلياً. يتيح تعريف ألوان لكنة العلامة في OKLCH عنونة الأحمر والأخضر المُشبَع لـP3 فقط الذي لا يستطيع أي رمز HEX ترميزه. الصق HEX موجوداً لقراءة OKLCH الخاصّ به، ثم ادفع قناة C فوق سقف sRGB للمطالبة بالإشباع الإضافي لـP3. تؤكّد شارات النطاق أن القيمة الجديدة تندرج في P3 (وتسقط بسلاسة على الشاشات لـsRGB فقط عبر ضغط chroma الذي يطبّقه المتصفح).
المعلّمون يدرّسون السطوع الإدراكي مقابل الهندسي
تجعل النظرة المتزامنة لـOKLCH + HSL الفرق بين السطوع الإدراكي والهندسي واضحاً. الصق أخضر مُشبَعاً وأزرق مُشبَعاً عند L ذاتها في HSL = 50%؛ تختلف قيم L في OKLCH اختلافاً ملحوظاً لأن OKLCH يقيس السطوع الإدراكي الفعلي. اسحب منزلق درجة اللون في HSL وراقب L في OKLCH تتذبذب بينما تثبّت L في HSL — المنحنى هو غرابة gamma مُمَثَّلة بصرياً. عرض جاهز لقاعة درس لشرح لماذا رحّلت أنظمة التصميم إلى OKLCH.
مشرفو المصادر المفتوحة يحدّثون توثيق الرموز
تسرد توثيقات أنظمة التصميم الأقدم ألوان العلامة كرموز HEX فقط عادةً. يعني التحديث إلى OKLCH عرض اللون ذاته في كلا الفضاءَيْن — HEX لتوافق كتلة الكود، وOKLCH لجدول المواصفة وتعريف الرمز الحديث. الصق كل HEX، وانسخ إخراج OKLCH، وحدِّث التوثيق. تتيح تجزئة URL القابلة للمشاركة أيضاً للمساهمين الإشارة إلى اللون الدقيق قيد النقاش في قضيّة GitHub دون التباس.

رياضيات HEX إلى OKLCH وخطّ الأنابيب

HEXOKLCH خطّ أنابيب من 7 خطوات
يمرّ التحويل عبر خمسة تمثيلات وسيطة: HEXsRGB صحيح → sRGB مُطبَّع (0-1) → linear-sRGB (مفكوك gamma) → CIE XYZ D65OKLABOKLCH. كل خطوة مصفوفة أو دالّة قطاعية محدّدة من مصدر أصلي. تجري الأداة خطّ الأنابيب الكامل عند كل ضغطة مفتاح؛ والرياضيات سريعة بما يكفي (ميكروثوانٍ) فلا حاجة إلى أي تأخير. يعني تسطيح ثلاثي RGB الوسيط إلى جانب OKLCH أنك تستطيع تنقيح قيمة OKLCH غير متوقّعة بفحص قنوات RGB.
دالّة gamma في CSS Color 4 §11.2
يستخدم تحويل sRGBlinear-sRGB دالّة CSS Color 4 §11.2 القطاعية: `v ≤ 0.04045 ? v/12.92 : ((v + 0.055) / 1.055)^2.4`. يتجنّب الشكل القطاعي (مع مقطع خطّي صغير قرب الصفر) عدم الاستقرار العددي لشكل الأس الصرف عند الألوان شديدة الظلمة. هذه الدالّة ذاتها التي تستخدمها ملفّات ICC لترميز sRGB والدالّة ذاتها التي تستخدمها المتصفحات داخلياً عند عرض رموز HEX. تطبّق المعكوسة من أجل OKLCHHEX الدالّة ذاتها عكسياً: `v ≤ 0.0031308 ? v * 12.92 : 1.055 * v^(1/2.4) - 0.055`.
مصفوفة CSS Color 4 §15.1: linear-sRGBXYZ D65
تحوّل المصفوفة من CSS Color 4 §15.1 linear-sRGB إلى CIE XYZ تحت نقطة بياض D65: `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 صيغة سطوع sRGB. المصفوفة ذاتها المستخدمة في كل مكتبة إدارة ألوان، بما في ذلك ICC، ومحرّك ألوان Adobe، وخطّ أنابيب LCMS المفتوح المصدر. تطبّق المصفوفة المعكوسة من أجل OKLCHHEX معكوس §15.1.
مصفوفات Ottosson 2020 لـOKLAB وخطوة الجذر المكعّب
يستخدم تحويل XYZ D65OKLAB مصفوفتَيْن وخطوة جذر مكعّب نُشرت في ورقة OKLAB الخاصّة بـBjörn Ottosson لعام 2020. تحوّل المصفوفة الأولى XYZ إلى فضاء استجابة مخروط LMS (مُنمذَج تقريبياً على حسّاسيات مخاريط L/M/S البشرية). خذ الجذر المكعّب لكل قناة لضغط المدى الديناميكي لاخطّياً (الخطوة المُصحِّحة للتوحيد الإدراكي). تحوّل المصفوفة الثانية LMS المُكَعَّب الجذر إلى إحداثيات L/a/b في OKLAB. تستخدم العمليات الثلاث كلّها القيم الدقيقة المنشورة في التنفيذ المرجعي للورقة؛ لا إعادات اشتقاق أو تقريب. تطبّق المعكوس من أجل OKLCHHEX هذه المصفوفات بصورة معكوسة.
OKLABOKLCH ديكارتي إلى قطبي
يشكّل محورا `a` و`b` في OKLAB مستوى chroma عمودياً على محور L. يرمّز OKLCH ذلك المستوى قطبياً: `C = sqrt(a² + b²)` (المسافة الإقليدية من الرمادي)، و`H = atan2(b, a) * 180 / π` (الزاوية بالدرجات، ملفوفة إلى 0-360°). المعكوس: `a = C * cos(H * π / 180)`، و`b = C * sin(H * π / 180)`. يُفضَّل الشكل القطبي على OKLAB لتخزين رمز التصميم لأن درجة اللون محور مستقرّ — لا يعبر تدوير درجة اللون فجأة عبر الرمادي بالطريقة التي قد يفعلها تدوير `a` أو `b` في OKLAB.
كشف النطاق عبر فحص مدى القناة
يُعدّ اللون داخل النطاق لفضاء هدف (sRGB، أو Display P3، أو Rec.2020) إذا وقعت كل قناة داخل `[-ε, 1 + ε]` بعد التحويل إلى أوّليات ذلك الفضاء، حيث `ε = 1e-7` لامتصاص ضوضاء دقّة الفاصلة العائمة حول الحدود. تتحوّل شارة النطاق لكل فضاء إلى الحمراء حين تتجاوز أي قناة المدى. OKLCH غير محدود في النطاق — `oklch(0.7 0.4 30)` إحداثية صالحة لكنها قد تتجاوز فضاء sRGB ذي البايت 256-لكلّ-قناة. يجري الفحص عند كل ضغطة مفتاح؛ وبالاقتران مع «تثبيت على sRGB»، يلتقط هذا أكثر فخاخ التبنّي شيوعاً (OKLCH واسع النطاق لا يُعرَض بصورة صحيحة على الشاشات الإرثية).
تقليص chroma ثنائي لـ«تثبيت على sRGB»
تطابق «تثبيت على sRGB» خوارزمية تخطيط النطاق الإعلامية في CSS Color 4 §13: ثبّت L وH عند القيم الحالية، وابحث ثنائياً عن C ∈ `[0, currentC]` للحصول على أكبر C يبقى تحويل sRGB الخاصّ به داخل النطاق. يجري البحث في 30 تكراراً على الأكثر (دقّة نحو 10⁻⁹)، وهو أكثر من كافٍ للدقّة البصرية. الحفاظ على L وH يعني أن اللون المُثبَّت يُقرَأ بوصفه عائلة درجة اللون ذاتها بالسطوع ذاته — يفقد الإشباع فقط. لا نقصّ قنوات RGB مباشرةً لأن ذلك يشوّه درجة اللون بشكل ملحوظ (خاصّة في الأزرقات، التي تُقصّ نحو الأرجواني).

أفضل الممارسات لسير عمل HEX / OKLCH

استخدم OKLCH صيغة الرمز القانونية في الكود الجديد
لأي نظام تصميم يُشحَن في 2025 أو ما بعد، عرّف ألوان العلامة وتدرّجات اللوحة في OKLCH. يعطي محور L تدرّجات موحّدة إدراكياً تلقائياً؛ ويستطيع محور chroma عنونة ألوان واسعة النطاق لا يستطيع HEX ترميزها. احتفظ باحتياط HEX للمتصفحات الأقدم عبر `@supports not (color: oklch(0 0 0))` أو PostCSS وقت البناء، لكن اجعل OKLCH المرجع الأصلي في مخزن رموزك. تشحن Tailwind v4 وshadcn/ui بهذه الطريقة؛ تستطيع المشاريع الجديدة اتباع قيادتهما بلا احتكاك.
ولّد التدرّجات بتدريج L مع تثبيت C وH
بناء تدرّج OKLCH القانوني: ثبّت C وH، وحرّك L بزيادات متساوية. ينتج تدرّج من 9 خطوات `oklch(L 0.15 263)` لـL = 0.1، و0.2، …، و0.9 تباعداً موحّداً بصرياً عبر كل خطوة. هذا بالضبط ما تفعله Tailwind v4 داخلياً. لا تحرّك C إلى جانب L ما لم ترد أن تتفاوت كثافة التدرّج اللونية عمداً (نادر). لا تحرّك H عبر الخطوات — حتى انحراف يجعل التدرّج يبدو مشوّشاً.
طابق دقّة Tailwind v4: 3 منازل عشرية لـL+C، ومنزلة عشرية واحدة لـH
تنشر لوحة Tailwind v4 الافتراضية قيم OKLCH بثلاث منازل عشرية على L وC، ومنزلة عشرية واحدة على H — `oklch(0.629 0.193 263.4)` لـblue-500. مطابقة هذه الدقّة في رموزك يعني أن سير عمل اللصق في الإعداد ينتج قيماً مطابقة لتلك التي تشحنها Tailwind، ولن تُعلِم أدوات الفرق فروقاً زائفة. يتبع التقريب الافتراضي في الأداة هذا الاصطلاح؛ النسخ-اللصق في كتلة `@theme` دقيق على مستوى البِت.
شغّل OKLCH واسع النطاق عبر فحص نطاق Display P3
إذا كنت تستهدف عتاد Apple الحديث (iPhone، وiPad، وMacBook من 2017 فما بعد) أو تشحن محتوى واعياً بـHDR، تتيح شارات النطاق دفع C فوق سقف sRGB للمطالبة بإشباع P3 الإضافي. يحفظ ضغط chroma الذي يطبّقه المتصفح اللون من القصّ على الشاشات لـsRGB فقط. لا تثبّت مسبقاً على sRGB افتراضياً ما لم تعلم أن جمهورك بأكمله على شاشات إرثية — يفقد ذلك أكثر من 30% من الإشباع الذي يستطيع عتاد P3 عرضه.
قدّم احتياط HEX عبر `@supports` لمتصفحات ما قبل 2023
رغم أن دعم المتصفح دائم التحديث لـ`oklch()` يبلغ الآن 94%+، فإن الذيل الطويل (IE 11، وAndroid Chrome القديم، وwebviews المضمّنة) ما زال يحتاج احتياطاً. لفّ الرموز في `@supports (color: oklch(0 0 0))` وقدّم متغيّر HEX في الفرع البديل. إخراج «تثبيت على sRGB» هو ذلك الاحتياط بالضبط — مُولَّداً تلقائياً من ثلاثي OKLCH الحالي مع الحفاظ على L وH. تستطيع إضافات PostCSS وقت البناء مثل `postcss-oklab-function` أيضاً تضمين تقريب sRGB وقت التجميع.
وثّق كلّاً من OKLCH وHEX المصدر في رموزك
حين تشحن متغيّر CSS مثل `--color-primary: oklch(0.629 0.193 263.4)`، ضمّن تعليقاً بـHEX المصدر: `/* source: #3b82f6 (Tailwind blue-500) */`. بعد ستة أشهر، حين يحتاج أحدهم إلى اشتقاق تدرّج داكن مرتبط أو فحص القيمة مقابل ملفّ PDF لإرشادات العلامة، يحفظ HEX المصدر مسار المنشأ الكامل. OKLCH وحده ذو معنى لكنه أصعب تمييزاً بالعين؛ وHEX المصدر هو المعرّف الذي سيبحث عنه معظم زملاء الفريق أوّلاً.
استخدم تجزئة URL لمشاركة قرارات الألوان حيّة
يُحدِّث كل تغيير لون تجزئة URL بصيغة `#hex=3b82f6` أو `#oklch=...` تلقائياً. انسخ URL إلى محادثة Slack أو قضيّة GitHub فمن يفتحه ينزل على اللون ذاته بثلاثي OKLCH ذاته. هذا أوثق من لصق سلسلة OKLCH في الدردشة — أحياناً يخطئ المستلمون في كتابة المنازل العشرية أو يلفّون دقّة خاطئة — ويتيح لمحادثة مراجعة تصميم الإشارة إلى لون دقيق بدلاً من «الأزرق العلامة الذي ناقشناه الثلاثاء». لا تُنقَل التجزئة أبداً إلى الخادم.

الأسئلة الشائعة

ما لون OKLCH؟
OKLCH هو الصيغة القطبية لـOKLAB، فضاء ألوان موحّد إدراكياً نشره Björn Ottosson عام 2020. القنوات هي السطوع الإدراكي (0-1، يقبل أيضاً 0-100%)، وchroma (0 حتى نحو 0.4 حسب درجة اللون وL، بلا حدّ أعلى)، ودرجة اللون (0-360°، مطابقة مفهومياً لدرجة اللون في HSL). يُشتقّ من CIE-LAB عبر مرحلة استجابة مخروط LMS مع خطوة جذر مكعّب. أضافت CSS Color 4 صياغة `oklch()` في 2022. توحّدت Tailwind v4 على OKLCH للوحتها الافتراضية في 2025. مثال: `oklch(0.629 0.193 263.4)` هو Tailwind blue-500.
هل OKLCH أفضل من HSL؟
لأنظمة التصميم، نعم. L في HSL هندسية — مُشتقّة بمتوسّط الحدّ الأقصى والأدنى لقنوات RGB — وترث منحنى gamma الخاصّ بـsRGB، فيبدو `hsl(60 100% 50%)` (أصفر) أسطع بصرياً من `hsl(240 100% 50%)` (أزرق) رغم أن كليهما يُبلِّغ L=50%. L في OKLCH إدراكية، مُرتكزة على نموذج OKLAB من Ottosson 2020. النتيجة العملية: يبدو تدرّج OKLCH بـL موحّدة موحّداً بصرياً عبر كل درجة لون؛ بينما يحتاج تدرّج HSL إلى تصحيحات يدوية لكل درجة لون كي يبدو موحّداً. لهذا رحّلت Tailwind v4 لوحتها الافتراضية من توليد قائم على HSL إلى توليد قائم على OKLCH.
أيّ متصفحات تدعم `oklch()
كل المتصفحات دائمة التحديث اعتباراً من منتصف 2023: Chrome وEdge 111 (مارس 2023)، وSafari 15.4 (مارس 2022، الأبكر نزولاً)، وFirefox 113 (مايو 2023). تتجاوز تغطية caniuse المُجمَّعة 94%. للذيل الطويل — IE 11، وSafari القديم، وAndroid Chrome على عتاد قديم — لفّ رموزك في `@supports (color: oklch(0 0 0))` وقدّم احتياط HEX أو `hsl()` في الفرع البديل. تستطيع أدوات وقت البناء مثل `postcss-oklab-function` في PostCSS أيضاً تضمين تقريب sRGB إلى جانب قيمة OKLCH وقت التجميع.
لماذا تستخدم OKLCH في Tailwind v4؟
نقلت Tailwind v4 (الصادرة في يناير 2025) لوحتها الافتراضية من توليد قائم على HSL إلى توليد قائم على OKLCH تحديداً لأن OKLCH يعطي تدرّجات موحّدة إدراكياً تلقائياً. تحت نظام HSL في v3، كان لـred-500 وblue-500 أوزان مُدرَكة مختلفة بصرياً رغم تساوي L% في HSL، فاضطُرّ المصمّمون إلى ضبط الخطوات يدوياً؛ وتحت v4، يبدو الاثنان متوازنَيْن لأن كليهما يجلس عند L ذاتها في OKLCH. يفتح OKLCH أيضاً ألوان Display P3 واسعة النطاق التي لا يستطيع أي رمز HEX ترميزها — يستطيع رمز Tailwind v4 مثل `oklch(0.65 0.25 30)` عنونة أحمر P3 يتجاوز sRGB. ما زال البناء يُصدِر احتياطات HEX للمتصفحات الأقدم.
هل OKLCH موحّد إدراكياً؟
نعم — هذا هو القصد من التصميم. يرث OKLCH التوحيد الإدراكي من OKLAB، فضاء ألوان Björn Ottosson لعام 2020 المُصمَّم تحديداً لإصلاح اللاتوحيدات في CIE-LAB (أفضل فضاء موحّد إدراكياً سابق). تطابق خطوة ثابتة في قناة L خطوة سطوع إدراكي ثابتة. وتطابق خطوة ثابتة في C خطوة chroma إدراكية ثابتة. تنهار تقريبات CIELAB حول الألوان شديدة الإشباع؛ بينما يبقى OKLAB وصيغته القطبية OKLCH دقيقَيْن عبر النطاق اللوني، وهو ما توحّدت عليه كل أداة حديثة لأنظمة التصميم (Tailwind v4، وshadcn/ui، وRadix Colors v3).
كيف تُقرَأ قيمة OKLCH؟
`oklch(L C H)` — ثلاثة أعداد، اختيارياً مع `/ A` لـalpha. L هو السطوع من 0 (أسود) إلى 1 (أبيض)؛ والشكل العددي وشكل النسبة المئوية متكافئان (`0.6` و`60%`). C هو chroma من 0 (رمادي) حتى نحو 0.4 لأكثر ألوان sRGB إشباعاً؛ لا حدّ أعلى صلب، وقد تتجاوز الألوان واسعة النطاق ذلك. H هو درجة اللون بالدرجات من 0 إلى 360، مثل HSL (0/360 = أحمر، و120 = أخضر، و240 = أزرق). مثال: `oklch(0.629 0.193 263.4)` هو Tailwind blue-500 — ساطع، وعالي chroma، في قوس الأزرق.
ما الفرق بين OKLCH وLCH؟
كلاهما صيغتان قطبيتان (السطوع الإدراكي / chroma / درجة اللون) لفضاء ألوان من عائلة CIE-LAB. LCH هو الصيغة القطبية لـCIE-LAB، الفضاء الموحّد إدراكياً لعام 1976. OKLCH هو الصيغة القطبية لـOKLAB، تحديث Ottosson لعام 2020. الفرق: ينهار التوحيد الإدراكي لـCIE-LAB حول الأزرقات والأرجوانيّات شديدة الإشباع (ضعف موثّق في النموذج)، فيبدو تدرّج LCH عبر الألوان المُشبَعة غير متّسق بدقّة. يصلح OKLAB هذا بإعادة اشتقاق المصفوفات من مرحلة استجابة مخروط LMS مُصحّحة. يُشحَن كلاهما في CSS Color 4 (صياغتا `lch()` و`oklch()`)؛ ولأعمال أنظمة التصميم الجديدة في 2025، فضّل OKLCH.
كيف أحوّل HEX إلى OKLCH؟
خطّ الأنابيب هو: حلّل HEX `#RRGGBB` إلى قنوات sRGB صحيحة عبر `parseInt(hex, 16)`، طبّع إلى 0-1، فكّ ترميز gamma إلى linear-sRGB عبر دالّة CSS Color 4 §11.2 القطاعية، اضرب بمصفوفة §15.1 للحصول على CIE XYZ D65، اضرب بمصفوفة LMS الخاصّة بـOttosson وخذ الجذر المكعّب لكل قناة، اضرب بمصفوفة OKLAB الخاصّة بـOttosson للحصول على L/a/b، ثم ديكارتي إلى قطبي: `C = sqrt(a² + b²); H = atan2(b, a) * 180 / π`. يجري خطّ الأنابيب الكامل في ميكروثوانٍ. تجري هذه الأداة هذا حيّاً أثناء كتابتك — يهبط `#3b82f6` بوصفه `oklch(0.629 0.193 263.4)` فوراً.

أدوات ذات صلة

عرض جميع الأدوات →

محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني

أدوات التحويل

حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.

محوّل ألوان HEX/RGB/OKLCH

أدوات التحويل

حوّل ألوان HEX إلى RGB و HSL و OKLCH و OKLAB و CMYK داخل متصفحك — انسخ أي صيغة بنقرة واحدة. مجاني، بلا تسجيل، ألوانك لا تغادر الصفحة أبداً.

محوّل HEX إلى CMYK

أدوات التحويل

حوّل ألوان HEX إلى CMYK في المتصفح. تقريب ساذج قائم على sRGB لمعاينات الطباعة. مجاني، بلا تسجيل، ألوانك تبقى محلياً.

محوّل HEX إلى HSL

أدوات التحويل

حوّل أي لون HEX إلى HSL في المتصفح — يدعم 3 و6 و8 أرقام مع alpha. مجاني، فوري، بلا تسجيل، ألوانك لا تغادر الصفحة أبداً.

محوّل HEX إلى RGB

أدوات التحويل

حوّل أي رمز لون HEX إلى RGB في المتصفح — يدعم HEX من 3 و6 و8 أرقام مع alpha. مجاني، فوري، بلا تسجيل، ألوانك لا تغادر الصفحة أبداً.

ضغط الصور — JPEG وPNG وWebP

أدوات التحويل

اضغط صور JPEG وPNG وWebP أونلاين مجاناً — بياناتك لا تغادر متصفّحك أبداً. قلّل حجم الصورة حتى 80% مع الحفاظ على الجودة. معالجة دفعية لـ 20 صورة.