Image Channel & Bit-Plane Splitter

Media Client-side steganography image lsb channels alpha rgb forensics bitplane hidden-data

This tool runs entirely client-side, in your browser: your data is never sent anywhere.

What it does

This tool loads an image entirely in your browser (nothing is uploaded anywhere) and decomposes it into:

This is one of the most common first steps in steganography analysis (CTF challenges, forensics, "is there a hidden message in this image?"): hidden data is frequently stashed in the least significant bits of one or more channels, since modifying the LSB barely changes the visible pixel color but can encode arbitrary bits. Isolating and viewing the LSB plane on its own often reveals a hidden image, QR code, or pattern that's completely invisible in the original picture.

Try it

Choose an image to begin.

How it works

  1. The image is drawn onto an off-screen <canvas> and read back with getImageData(), giving direct access to the raw RGBA byte values of every pixel — all of this happens locally in your browser via the Canvas API.
  2. Channel extraction: for a chosen channel (Red, Green, Blue, or Alpha), a new grayscale image is built where every pixel's brightness equals that channel's original 0–255 value at that position. Fully transparent/opaque areas of an image with no real transparency will render the Alpha channel as flat white.
  3. Bit-plane extraction: for a chosen bit index n (0 = LSB, 7 = MSB), each pixel is tested with (value >> n) & 1. The result — 0 or 1 — is rendered as pure black or white, producing a binary image. The LSB plane (bit 0) is the classic target for detecting simple LSB steganography: structured noise, text, or embedded shapes visible only in that plane strongly suggest hidden data.
  4. Nothing ever leaves your browser — nothing is uploaded, and this page has no server-side component.

Tips for steganography analysis

ObservationPossible meaning
LSB plane (bit 0) shows visible shapes/text/patternsLikely LSB-encoded hidden data in that channel
Alpha channel is not flat/uniform on a PNG that looks fully opaqueData may be hidden in the alpha channel
Higher bit planes (5, 6, 7) look identical to the full channelNormal — high bits dominate visual appearance
One channel's LSB looks like random noise while others look structuredThat specific channel may carry the payload
Bit planes look identical across R, G, and BProbably no simple per-channel LSB steganography present

Limitations