XYZ to LAB Converter

Enter CIE XYZ tristimulus values and instantly get the equivalent CIE L*a*b* color with a live swatch and formula breakdown.

CIE XYZ Input

0.4124
0.2126
0.0193
rgb(255, 0, 0)

CIE L*a*b* Output

Conversion Steps

  1. 1 XYZ input: X=0.4124, Y=0.2126, Z=0.0193
  2. 2 Divide by D65 white (Xn=0.95047, Yn=1.00000, Zn=1.08883): xr=0.4339, yr=0.2126, zr=0.0177
  3. 3 Apply CIE f(t): t1/3 if t > 0.008856, else 7.787·t + 16/116: fx=0.7576, fy=0.5966, fz=0.2603
  4. 4 L*=116·fy−16, a*=500·(fx−fy), b*=200·(fy−fz): L*=53.23, a*=80.11, b*=67.22
Copied!

Summary

Enter CIE XYZ tristimulus values and instantly get the equivalent CIE L*a*b* color with a live swatch and formula breakdown.

How it works

  1. Enter X, Y, and Z values using the number inputs or sliders (normalized range 0–1, where D65 white is X=0.95047, Y=1.00000, Z=1.08883).
  2. Each XYZ channel is divided by the corresponding D65 reference white value to produce normalized ratios xr, yr, zr.
  3. Each ratio is passed through the CIE f() function: f(t) = t^(1/3) if t > 0.008856, else f(t) = 7.787*t + 16/116.
  4. L* = 116 * f(yr) − 16, a* = 500 * (f(xr) − f(yr)), b* = 200 * (f(yr) − f(zr)).
  5. XYZ is also converted to sRGB via the D65 matrix and gamma encoding to render the live color swatch.
  6. Copy any individual LAB value or the full lab() CSS string with one click.

Use cases

Frequently Asked Questions

Related tools

Last updated: 2026-05-28 · Reviewed by Nham Vu