PNG Channel Mixer
Choose, for each of the four output channels, which input channel it should come from. Swap red and blue to fix a BGR-ordered dump, move the alpha channel into red so you can look at it, pack luma into all three, or blank a channel entirely. It is a plumbing tool: no filtering, no blending, just a wire from each source to each destination.
Drop images here
Multiple files allowed
Recipes
- Fix a BGR image — red ← Blue, blue ← Red. Raw framebuffer dumps and some Windows APIs store channels in the opposite order, which turns skin tones blue.
- See the alpha channel — red, green and blue all ← Alpha, alpha ← 255. Transparency becomes a visible greyscale image you can inspect. (Extract alpha does this in one click.)
- Build a mask from brightness — alpha ← Luma. Dark areas become transparent, bright areas opaque, which is a quick way to knock out a black background.
- Isolate one channel — keep red ← Red and set green and blue to 0. Useful for looking at where compression damage or chroma noise lives.
- Drop transparency — alpha ← 255. Everything becomes opaque; previously transparent pixels reveal whatever colour was hiding underneath, which is often not black.
- Pack data textures — game and shader pipelines routinely pack roughness, metalness and ambient occlusion into R, G and B of one file. This is how you assemble or take apart such a texture.
What the sources mean
Luma is the perceptually weighted brightness — about 30% red, 59% green, 11% blue — the same formula grayscale conversion uses, and a better brightness proxy than any single channel. 0 and 255 write a constant, ignoring the source entirely.
All four outputs are computed from the original pixel, so a swap really is a swap: setting red ← Blue and blue ← Red exchanges them rather than copying one over both. Values are moved verbatim with no scaling or colour management, which is what makes this safe to use on data textures where the numbers mean something other than colour.
One caveat about alpha: reading a colour channel from a transparent region gives you whatever the encoder happened to store there, which is frequently black or garbage rather than a meaningful colour. If you are about to pull colour out of a transparent area, run Premultiply alpha with edge bleed first.
FAQ
Can I blend channels rather than just pick one?
Not here — each output takes exactly one source. A weighted mix (the Photoshop "Channel Mixer" sense) needs per-channel coefficients; the closest single option is Luma, which is a fixed perceptual blend of all three.
Does it change the file size?
Usually a little, because moving data between channels changes how well it compresses. Setting a channel to a constant makes the file smaller; scrambling correlated channels makes it larger.
Is the output still 8 bits per channel?
Yes. The canvas works in 8-bit RGBA, so a 16-bit source is reduced to 8 bits on load. For 16-bit data textures, do the channel work in a tool that preserves depth.
How is this different from Split RGB?
Split RGB exports one file per channel. This produces a single recombined image, which is what you want when the goal is reordering or packing rather than inspection.