On this page
Chapter 07 · Colour & colour management
Colour is the area where Photopea's limitations matter most and where the marketing similarity to Photoshop is most misleading. The application supports RGB and CMYK as document modes, offers 8, 16 and 32-bit depth, reads ICC profiles embedded in files, and provides eighteen adjustments plus a full Channels panel. But it works internally in RGB at all times, and its CMYK mode is an emulation layer rather than a true colour mode. For screen work that is irrelevant. For print work it is decisive, and this chapter explains exactly why.
Colour modes and bit depth
Photopea supports RGB and CMYK document modes and nothing else. There is no Grayscale mode, no Lab mode and no Indexed mode. That is a narrower set than Photoshop, which matters less than it sounds for most work and more than it sounds for specific jobs: converting to grayscale for a newspaper advertisement, working in Lab for certain sharpening techniques, or producing an indexed-colour GIF for a legacy system all require a different tool.
| Depth | Values per channel | Total colours | Availability |
|---|---|---|---|
| 8-bit | 256 | About 16.7 million | Full support; the default for everything |
| 16-bit | 65,536 | About 281 trillion | Added in version 5.6, GPU-accelerated |
| 32-bit float | Continuous | Effectively unlimited | Added in version 5.6, GPU-accelerated |
Deep colour is created through File > New or by opening a 16-bit PNG, a 16-bit TIFF, or a RAW file, which opens as 16-bit. The addition of 16 and 32-bit support in version 5.6 is the most significant technical change in recent Photopea history, because it makes the application viable for HDR and for high-end retouching where banding in gradients is a real risk. The GPU acceleration matters too: deep-colour operations on large images are slow enough without it that the feature would be impractical.
The CMYK problem, stated precisely
This is the most important section in the chapter, and it is worth being blunt. Photopea always works internally in RGB. When you switch a document to CMYK, the application adds a hidden adjustment layer on top of the document that performs the conversion for display and for saving. The document is not actually in CMYK while you edit it.
The consequences follow directly from that architecture. When you save a PSD in Photopea's CMYK mode, the pixel data is converted to true CMYK in the file, so the output is genuinely CMYK. When you reopen that file, Photopea converts it back to RGB for editing. Pixel data survives that round-trip, but vector graphics do not round-trip through the conversion at all. And each CMYK to RGB to CMYK cycle loses a little colour precision, so repeated round-trips degrade the data progressively.
You cannot choose Coated FOGRA39, US Web Coated SWOP v2, Japan Color 2001 Coated or any other CMYK output profile. A request for profile selection was closed by the developer without implementation. The developer's stated position is that asking for a CMYK mode without specifying an ICC profile does not make sense, because thousands of CMYK spaces exist. That is technically correct and it is also the reason the feature is unusable for contract proofing: without a target profile, there is no defined output.
There is a related subtlety that confuses people comparing colour values. CMYK 0/99/100/0 and 1/98/98/0 describe the same perceptual colour, and the developer has confirmed this. Small numeric differences between what you see in Photopea and what you see in a RIP are therefore not necessarily errors; they are two different conversions landing on adjacent values. The problem is not the numbers, it is that you cannot control which conversion is used.
The official documentation states that Photopea stores all files in sRGB colour space at the moment. That is the sentence to remember. Everything else about colour management in Photopea is a layer on top of an sRGB working space.
ICC profiles and colour spaces
Photopea can work with many different colour spaces defined by ICC profiles embedded in files, and its documentation explains the concepts of CIELAB, CIEXYZ, sRGB and CMYK reasonably well. An ICC profile describes the conversion between a device colour space and a profile connection space, which is how a file can carry enough information for another machine to reproduce its colours.
What this means in practice is asymmetric. Photopea will read an embedded profile and use it to interpret the file, so an Adobe RGB photograph opens with its colours interpreted correctly. But the internal working space is sRGB, so wide-gamut data is being squeezed into a smaller space while you edit. For screen delivery that is fine, because sRGB is what screens and browsers expect. For print or for archival wide-gamut work it is a real loss, and it is one more reason to do colour-critical work elsewhere.
Adjustments
Eighteen adjustments are available, and every one of them can be applied destructively from Image > Adjustments or non-destructively as an adjustment layer. The adjustment layer route is almost always correct, because it carries its own mask, blend mode and opacity, and it can be revised at any time.
| Adjustment | Shortcut | What it is for |
|---|---|---|
| Levels | Ctrl+L | Input and output levels per channel; the fastest tonal correction |
| Curves | Ctrl+M | Full RGB and per-channel curves; the most precise tonal control |
| Hue/Saturation | Ctrl+U | Hue, saturation and lightness, with a colourise option |
| Brightness/Contrast | — | Simple tonal control; better than it used to be in Photoshop |
| Exposure | — | HDR-style exposure adjustment |
| Vibrance | — | Vibrance plus saturation, with vibrance protecting skin tones |
| Colour Balance | — | Shifts colour in shadows, midtones and highlights separately |
| Photo Filter | — | Warming and cooling filters that simulate camera filters |
| Channel Mixer | — | Builds output channels from weighted input channels |
| Selective Colour | — | Adjusts specific colour ranges in CMYK-like terms |
| Replace Colour | — | Replaces a colour range; added in version 4.1 |
| Gradient Map | — | Maps luminance to a gradient; the basis of duotones |
| Invert | Ctrl+I | Inverts every channel |
| Posterize | — | Reduces the number of colour levels |
| Threshold | — | Converts to pure black and white at a chosen level |
| Black & White | — | Desaturates with per-channel control over how colours map to grey |
The three that do the most work are Levels, Curves and Hue/Saturation. Levels is the fastest way to set a black point and a white point. Curves is the precise tool, and the per-channel curves are how you correct a colour cast without shifting everything else. Hue/Saturation with the colourise option is the standard route to a duotone or a tinted monochrome. If you learn only three adjustments, learn those.
The Channels panel
The Channels panel lists the RGB composite channel, the individual red, green and blue channels, the masks of the current layer, and any independent alpha channels you create. The eye icons control visibility. Showing a single channel renders it as grayscale, which is the fastest way to inspect noise or a colour cast in one channel. Showing multiple non-RGB channels renders them as a red overlay on the RGB image, which is how mask inspection works.
Two shortcuts are worth knowing. Alt+clicking a layer mask shows the mask alone in grayscale with all other channels hidden. Alt+Shift+clicking adds the mask as a red overlay alongside the colour channels, so you can see exactly which pixels it is affecting. Clicking a channel selects it, and all subsequent editing — painting, adjustments, filters — applies only to that channel.
The bottom icons convert a channel to a selection, create a channel from a selection, create an empty black channel, and delete a channel. Independent channels are the feature that makes advanced compositing possible: you can store selections, luminosity masks or any grayscale data as an alpha channel and reload it later. This is functionally comparable to Photoshop's alpha channels, though there is no built-in luminosity mask automation, so you build those by hand from channel calculations or by painting.
Quick Mask Mode creates an independent channel that is shown alongside the colour channels, which is why the red overlay behaves the way it does. Because it is a channel, it survives a PSD save, so a complex selection built in Quick Mask can be reopened days later.
What this chapter means in practice
For screen work, Photopea's colour handling is entirely adequate: sRGB, 8-bit or deep colour, eighteen adjustments and a working Channels panel. For print work it is not adequate, and the reason is architectural rather than a missing feature that might arrive in an update. If your output goes to a press, do the colour conversion in a tool that can target a specific ICC profile and validate the result. Chapter 19 treats this as one of the two or three limitations that should change a tool decision rather than merely inconvenience you.