pngtoolskit.org
PNG and image utilities, in the browser
Say hi →

PNG Channel Mixer

swap RGB · pack alpha · force 0 / 255 · batch · nothing uploaded

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

    no files
    Ready.

    Recipes

    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.