Delta E 2000 is a single number — produced by the CIEDE2000 formula — that expresses how different two CIELAB colors are, with 0 meaning identical and larger values indicating greater calculated divergence.
The Color Difference Calculator is built for beginners who need that number from two opaque HEX colors without first learning color science. You paste one #RRGGBB value, paste another, click Compare, and the page reports the Delta E 2000 figure alongside the D50-adapted CIELAB coordinates used to compute it. Everything happens in your browser, so neither color value leaves your device. The result is reproducible under default conditions (kL = kC = kH = 1), symmetric for the same inputs, and grounded in the standard CIEDE2000 implementation documented in the Sharma, Wu, and Dalal data set. The tool does not, however, claim that any specific number is a pass, fail, or "good enough" — that judgment belongs to your workflow, your tolerance, and the physical viewing conditions of the colors being compared. Treat the page as a fast, deterministic comparison aid, not a substitute for a spectrophotometer or a calibrated display.

CIEDE2000 and Delta E 2000, in Plain English
CIEDE2000 is the short name for a color-difference formula published in 2001 by the CIE — the Commission Internationale de l'Éclairage. It builds on the older 1976 ΔE formula, which simply measured the straight-line Euclidean distance between two points in CIELAB space. The 2000 revision fixed several perceptual problems the original had: it adjusts the a* axis near neutral grays, weights lightness, chroma, and hue differences separately, handles hue angles that wrap across the 360°/0° boundary, and includes a rotation term for the blue region where human vision is most sensitive. Delta E 2000 — usually written ΔE₂₀₀₀ or dE2000 — is the single number that formula returns.
The number has no unit and no universal pass/fail threshold. A value of 0 means the two inputs produced identical CIELAB coordinates under the calculation. A value of 1 means the inputs are very close by the formula's reckoning. A value of 5 means the difference is plainly visible to most observers side by side. Higher values indicate a greater formula-defined difference, but what counts as "acceptable" depends on whether you are checking brand colors, comparing ink on fabric, reviewing a print proof, or validating a design token revision. The Sharma, Wu, and Dalal paper that introduced the formula also published a supplemental data set used to validate implementations — and the calculator checks itself against eight of those reference pairs.
Why the Inputs Are Strictly Six-Digit Opaque sRGB
The calculator accepts exactly one shape of color value: a leading hash followed by six hexadecimal digits, like #1F4E79. It does not accept three-digit shorthand like #FFF, eight-digit alpha-bearing HEX like #1F4E79CC, named colors like "navy", RGB triples, HSL values, or display-p3 inputs. Anything else produces an explicit error and no result.
This narrowness is a feature, not a limitation. Each of those rejected formats would force the calculator to make a hidden assumption — that #FFF means #FFFFFF, that an alpha channel of 80 means a particular composite over an unknown background, that "navy" maps to a specific sRGB triple. Rejecting them keeps the input color space and the opacity explicit. The comparison you ask for is the comparison you get, with no parsing magic in between.
If transparency matters to your comparison, the contract is clear: composite both colors over the same known background first, then enter those resulting opaque HEX values. The calculator cannot average two translucent colors into a single opaque one because there is no canonical way to do that without knowing the surface beneath them.
| Input format | Example | Accepted? | Reason |
|---|---|---|---|
| Six-digit opaque HEX | #1F4E79 | Yes | Exact opaque sRGB color |
| Three-digit shorthand | #4E7 | No | Expansion would be implicit |
| Eight-digit with alpha | #1F4E79CC | No | Opacity needs a background |
| CSS named color | navy | No | Would require a fixed lookup table |
| RGB function | rgb(31, 78, 121) | No | Different syntax, different parser |
| display-p3 function | color(display-p3 …) | No | Different color space |
Run Your First Comparison in the Calculator
For your first comparison, you need two HEX values you want to evaluate. They can come from a style guide, a Figma export, a screenshot eyedropper, or anywhere else that hands you six-digit codes. Open the Color Difference Calculator and follow these steps.
- Enter two opaque six-digit sRGB HEX colors, including each leading #. Type the first color into the first field and the second color into the second field — for example, #1F4E79 in one and #2A5A8A in the other.
- Select Compare colors to convert both values to D50 CIELAB and calculate CIEDE2000. The page converts your inputs locally and reports the Delta E 2000 number along with the L*, a*, b* triple for each color.
- Record the original HEX values and Delta E 2000 result with the tolerance and viewing context for your workflow. Copy both HEX codes, the reported number, and a note about where the colors will be used (on screen, on coated paper, on fabric) so the comparison can be reproduced or audited later.
That is the entire beginner workflow. Two inputs, one button, one number, plus the Lab triples if you want them. For a deeper walk-through, the guide on how to calculate color difference between two HEX values covers the same steps with extra examples.
The Conversion Path From HEX to a Delta E 2000 Number
When you click Compare, the page runs a fixed pipeline defined in the W3C CSS Color 4 conversion code. Each sRGB channel in your HEX string is normalized to a number between 0 and 1, then linearized with the sRGB transfer function so the math happens in physical light space rather than perceptual gamma space. The three linearized channels are then multiplied into CIE XYZ relative to the D65 illuminant — the white point that defines the sRGB color space.
Next, the calculator adapts that D65 XYZ to the D50 illuminant using the Bradford matrix. This step matters because CIELAB is defined relative to D50, and skipping the adaptation would produce slightly different Lab values than the color-science literature expects. Once the values are in D50 XYZ, the page converts them to CIELAB using the standard cube-root formulas, which yield L*, a*, and b* coordinates.
The visible L*, a*, and b* values shown on the page are rounded for readability; the unrounded versions continue into the CIEDE2000 formula. That formula is more involved than a straight Euclidean distance — it adjusts the a* axis near neutrals, handles hue angles that cross the zero-degree boundary, weights lightness, chroma, and hue with the default kL = kC = kH = 1 parameters, and applies a rotation term for the blue region. For beginners, the takeaway is that "Delta E 2000" is not a distance you can plot on a ruler — it is a carefully weighted perceptual comparison, validated against the Sharma, Wu, and Dalal supplemental data set referenced from the CIEDE2000 implementation data at the University of Rochester.
Reading the Number: What Higher and Lower Values Tell You
A Delta E 2000 of 0 means the two inputs produced identical Lab coordinates — the calculator returns this for any color compared to itself. A small number, often under 1, indicates the inputs are very close under the formula; a trained observer might not see the difference in good lighting. A larger number means the formula judges the gap to be perceptually meaningful, but exactly where that line falls depends on the viewing conditions and your tolerance for the workflow.
That is why the calculator deliberately does not stamp a pass/fail label on its output. Different production processes accept different tolerances. Graphic designers checking a brand color on screen often look for very small values; paint manufacturers comparing dry film samples under controlled illuminants may accept values that would be unacceptable on a fabric print run. The number is a reproducible comparison aid, not a guarantee that two physical samples will match.
If you are comparing many color pairs, record the number alongside the viewing context, then set a tolerance threshold that fits your specific use case. Two pairs with the same Delta E 2000 can be "acceptable" in one context and "unacceptable" in another, because the formula does not know about the surface, the surrounding colors, the ambient light, or the observer's vision.
What the Calculator Deliberately Does Not Do
This is a deterministic client-side calculator, not a measurement device. It does not read pixels from an image, pick a color from a photograph, or infer the profile of a printer. It does not check WCAG contrast ratios — for text readability, a dedicated Color Contrast Checker is the right tool. It does not convert between color spaces in either direction beyond the fixed sRGB-to-Lab path; for screen-to-print approximation, the RGB to CMYK Converter covers that need. It does not certify, approve, or reject a color pair — only you, your tolerance, and your production process can do that.
It also does not promise that the same Delta E 2000 will look the same on every monitor. Browser rendering, monitor gamut, color profiles, brightness, and calibration all affect what you see on screen. The numeric result is based only on the sRGB coordinates you typed and the documented conversion path. Use it as a math aid and a record-keeping tool, not as evidence about a physical sample.
Recording a Comparison So Someone Else Can Reproduce It
Because the calculator is reproducible, the way you document a comparison matters as much as the number itself. A useful record includes four pieces: the first HEX value, the second HEX value, the Delta E 2000 result, and the context in which the colors will be seen. That context can be as simple as "on screen, sRGB display" or as specific as "coated paper, D50 illuminant, ISO 12647-2 tolerance."
Without the context, the number is a curiosity. With it, the number is a decision your colleague, your printer, or your future self can verify by opening the same calculator, entering the same two HEX values, and seeing the same output.