Colour Space Checker

A CMYK JPEG looks completely normal on your screen. Every viewer opens it, every preview shows it correctly, and then the marketplace rejects it — or accepts it and displays the colours inverted. Nothing tells you beforehand, because there is nothing visibly wrong.

🔒 Your data never leaves your browser — only the file header is read, and it is read here.

Drop an image here or click to choose one — JPEG and PNG headers are read

Where CMYK images come from

CMYK is a print colour model — cyan, magenta, yellow and black ink. Anything that came from a designer's print artwork, a catalogue layout, or a PDF export is likely to be CMYK, and converting the file format does not convert the colour model. Screens are RGB, so every marketplace wants RGB.

The reason this is so persistent is the failure mode. A file that is corrupt fails obviously. A file in the wrong colour model opens perfectly everywhere except the one place it matters.

How it is detected without decoding the image

A JPEG's frame header states how many colour components it has: one is greyscale, three is colour, and four is CMYK. Adobe files add a marker with a transform byte that separates CMYK from its compressed variant YCCK. None of that requires decoding a single pixel, which is why this page only reads the first part of the file and why it works instantly on large images.

PNG is simpler: its header carries a colour-type byte, and the format has no CMYK at all. A PNG can be wrong in other ways — an indexed palette bands badly on product photography, and an alpha channel gets composited against different backgrounds on different platforms — but it can never be CMYK.

Every check this tool runs (9 rules)

CS-C01 CMYK image

The JPEG has four colour components, which means CMYK — a print colour space. Marketplaces want RGB and either reject the file or display it with the colours inverted. The reason this one is so persistent is that it looks completely normal in most image viewers, so nothing warns you until the upload fails.

Fix: Re-export as RGB (sRGB). Converting in an image editor is enough; the pixels are fine, the colour model is not.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-C02 YCCK image

Four components with an Adobe transform of 2 means YCCK — a compressed variant of CMYK. Everything true of CMYK is true here, with the added problem that fewer tools handle it correctly.

Fix: Re-export as RGB.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-G01 Greyscale image

The image has a single colour component. That is deliberate for some products and an accident for most — a greyscale export of a colour photograph looks intentional enough that it survives review.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-A01 Alpha channel

The image carries transparency. Marketplaces that require a white background composite transparent areas against something, and which something varies — white on one platform, black on another. The same file then looks different depending on where it is shown.

Fix: Flatten the image against the background you actually want before uploading.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-P01 Indexed colour

The PNG uses a palette rather than full colour. Palettes are fine for logos and flat graphics, but a product photograph reduced to 256 colours shows visible banding across gradients — most obviously on anything glossy or curved.

Fix: Export as a truecolour PNG or as JPEG.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-I01 ICC profile embedded

The file carries a colour profile. That is usually good — it tells the viewer how to interpret the numbers — but a large profile can be a surprising share of a small image, and some pipelines strip it and shift the colours.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-I02 No colour profile

No ICC profile is embedded, so the numbers are interpreted as whatever the viewer assumes — normally sRGB. For most product photography that assumption is correct; for anything shot or edited in a wider gamut it will look flat and slightly wrong, without ever failing.

Fix: Embed sRGB on export if colour accuracy matters for the product.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-F01 Format not parsed

Colour space is read from JPEG and PNG headers. Other containers are named rather than guessed at.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

CS-N01 RGB — what marketplaces want

Three colour components in an RGB-family space, which is what every marketplace expects.

Source: Read from the file headers themselves: the JPEG SOF marker component count, the Adobe APP14 transform byte, the ICC_PROFILE APP2 segment, and the PNG IHDR colour-type byte. Our tests run against real files generated by an unrelated imaging library, including a genuine CMYK JPEG.

Only the header is read, so this page says what colour model the file declares — not whether the colours themselves are right. For white-background and fill requirements, use the main image checker, which measures actual pixels.