Substituting DMC floss: why charts disagree, and how to pick a swap that holds up
You run out of DMC 321 halfway through a pattern. One substitute finder tells you to use 349. Another says 817. Both call their answer the closest match, and both are right about their own data. They just started from different color lists.
This guide explains where those lists come from, how far apart they are, and what that means when you need a replacement thread. The numbers are our own: we downloaded the open DMC color lists and compared them thread by thread.
Key numbers
- Of 12 open DMC color lists we compared in October 2026, seven go back to one source and three to a second, independent one.
- For the 482 DMC threads in both source lists, the median color difference between them is ΔE 6.9 (CIEDE2000); only 22 threads agree within ΔE 1 and 64 within ΔE 3.
- The two DMC lists pick the same nearest substitute thread for only 84 of 482 threads (17%).
- For 2,000 random screen colors, the two DMC lists chose the same nearest thread 18% of the time.
- In the open DMC list our tools use, the median distance from a thread to its nearest other thread is ΔE 3.6; only 10 of its 489 threads have a neighbor closer than ΔE 1.
Where the colors on a DMC chart come from
Chart makers say that DMC does not publish an RGB table for its floss. MakeBead, whose open list we use ourselves, says so on its DMC chart, and we have not found such a table either. So every HEX or RGB value you see on a DMC chart is somebody's estimate, made from a scan, a photo, a measurement or a correction by eye.
In October 2026 we collected twelve open DMC lists from GitHub, npm and KDE and compared them code by code (they are listed at the end of this page). Seven of them go back to one source, which we'll call list A. It includes the list behind MakeBead's craft-color-codes and the one in the KXStitch pattern editor. Three go back to a second, independent source (list B), first collected from camelia.sk. One list mixes the two, and one is so far from everything else that we could not use it.
So twelve charts mostly come down to two, and a substitute finder built on one of them can give a different answer from a finder built on the other.
How far apart the two lists are
482 thread numbers appear in both lists. For each one we measured the color difference between list A and list B with CIEDE2000, usually written ΔE: the color-difference formula the CIE published in 2001 to describe how different two colors look.
On the scale we use across this site, a ΔE below 1 is an excellent match, below 3 a good one, below 6 approximate, and 6 or more a visibly different color. The median difference between the lists is ΔE 6.9. Only 22 threads are within ΔE 1 of each other, and 64 within ΔE 3. List A is also the lighter of the two for 79% of the threads.
The worst case is 995 Electric Blue Dark: #2696B6 in list A, #0061B0 in list B, ΔE 23. 580 Moss Green Dark is close behind, #888D33 against #355F0B, ΔE 22.
We can't tell you which list is closer to the skein in your hand. Checking that would take the real threads and a spectrophotometer, and we have neither. What we can say is that a chart's numbers carry an uncertainty the chart usually doesn't show.
What that does to substitutes
A substitute finder takes your thread and looks for the nearest other DMC thread. We ran that search for all 482 shared threads, once in each list.
The two lists pick the same substitute for only 84 threads, or 17%. List A's first choice is somewhere in list B's top three for 38% of threads. The two top-three shortlists share at least one thread for 69%.
A few familiar threads:
| Thread | Nearest other DMC, list A | Nearest other DMC, list B |
|---|---|---|
| 310 Black | 3371 Black Brown (ΔE 8.7) | 3799 Pewter Gray Very Dark (ΔE 15.6) |
| 321 Red | 349 Coral Dark (ΔE 2.2) | 817 Coral Red Very Dark (ΔE 1.9) |
| 666 Bright Red | 349 Coral Dark (ΔE 4.5) | 349 Coral Dark (ΔE 1.7) |
| 797 Royal Blue | 796 Royal Blue Dark (ΔE 2.6) | 312 Baby Blue Very Dark (ΔE 3.3) |
| Blanc | 3865 Winter White (ΔE 1.6) | B5200 Snow White (ΔE 1.7) |
So what about 321? Its two shortlists don't overlap at all: list A suggests 349, 309 and 304, list B suggests 817, 347 and 326. The lists also disagree about 321 itself (ΔE 4.2), so neither answer is safer than the other. Get 349 and 817 and hold both against the part you have already stitched.
Black is the odd one. Both lists agree that 310 is pure black, #000000, yet they still suggest different neighbors, because they disagree about the dark browns and grays around it.
The same split shows up when you go from a screen color to floss. For 2,000 random colors, the two lists chose the same nearest DMC thread 18% of the time.
Some threads have no close neighbor at all
Even inside one list, a "closest match" is often only approximate. In list A, the median distance from a thread to its nearest other DMC thread is ΔE 3.6. Only 63 of the 489 threads in list A have a neighbor closer than ΔE 2, and just 10 have one closer than ΔE 1.
At the far end, 32 Blueberry Dark is ΔE 10.4 from its nearest neighbor, and 310 Black is ΔE 8.7 from 3371. For threads like these there is no invisible swap. You are choosing a compromise, and it helps to know that before you start unpicking.
How to pick a swap that holds up
- Get a shortlist of three to five threads from a substitute finder. Our DMC substitute tool shows five, with the ΔE for each.
- Prefer a suggestion that turns up in both lists. If a finder built on the other list puts the same thread in its top three, the match is less likely to be an accident of one dataset.
- Check how sure the color itself is. Our finders mark a thread "Stable in both lists" when lists A and B give it nearly the same color, within ΔE 3. That is true for only 64 of the 482 shared threads, so for most threads, 321 included, the on-screen color is a rough guide.
- Compare real thread. Hold the candidate skeins against the part you have already stitched, or against the old skein if any is left, on your fabric and in daylight. A screen can't show sheen, and it can't show how a color reads next to its neighbors in the pattern.
- Think about where the stitches go. A few stitches in a busy area can take a bigger difference than a large block of background.
How we got these numbers
For list A we used the dmc-floss file from craft-color-codes 1.0.0: 489 threads, CC BY 4.0, by MakeBead. List B is the DMC_index.txt file from png2dmc: 482 threads, GPL-3.0. The numbers on this page come from both files as downloaded on 5 November 2026. Which of the twelve lists copies which was worked out on 24 October 2026.
Color difference is CIEDE2000 as implemented in culori, on the lists' sRGB values converted to CIELAB with a D65 white point. The 2,000 random colors come from a seeded generator; a regular grid of 4,096 colors gave the same result within one point. The formulas behind every tool on this site are on How We Calculate.
Our tools use list A's colors. We chose it for its clear open-data licence and documented method; we don't know that it is closer to real thread. List B is used only to decide which threads are marked "Stable in both lists".
The twelve lists we compared, by source:
- List A (seven lists): craft-color-codes, KXStitch, adrianj/CrossStitchCreator, sharlagelfand/dmc, PaulMakesStuff/Python_Cross_Stitch, flaneuse/image2dmc, ksletmoe GIMP palette
- List B (three lists): nathantspencer/DMC-ColorCodes, cheshire137/cross-stitch-color-conversion, aast242/png2dmc
- Mixes A and B: nitfeh/tarraz
- Too far from both to use: Katze-Schwarz/CrossStitchApp
Color data: craft-color-codes by MakeBead, licensed under CC BY 4.0. «Stable in both lists» compares it with the independent png2dmc list; only that yes/no is used, not its colors. Changes: we add that flag, compute nearest-color matches and substitutes and, on the diamond painting chart, show a subset of the codes; the colors are unchanged.
DMC is a trademark of DMC. This site is not affiliated with or endorsed by DMC. All colors are on-screen approximations; check a physical DMC color card before buying thread.