Hiding in Plain Sight
01001001 01100110 00100000 01111001 01101111 01110101 00100000 01100001 01110010 01100101 00100000 01110010
01100101 01100001 01100100 01101001 01101110 01100111 00100000 01110100 01101000 01101001 01110011 00100000
01101101 01100101 01110011 01110011 01100001 01100111 01100101 00101100 00100000 01001001 00100111 01110110
01100101 00100000 01100010 01100101 01100101 01101110 00100000 01100101 01101110 01110011 01101100 01100001
01110110 01100101 01100100 00100000 01100010 01111001 00100000 01110100 01101000 01101001 01110011 00100000
01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010 00101110 00100000 01001001 01110100
00100000 01110111 01100001 01101110 01110100 01110011 00100000 01100001 01101100 01101100 00100000 01101111
01100110 00100000 01110100 01101000 01100101 00100000 01100010 01101001 01110100 01110011 00100001
Computers don’t see letters or pictures the way we do. They use a language called binary — made up of just 0's and
1's.
Think of them like light switches where each switch is called a bit.
The bit can be either
On
or
Off
When you group 8 bits together, you get a byte.
A byte can store one letter, number, or color. For example:
01000001 is uppercase "A" and 01100001 is lowercase "a".
00000000 is 0, 00000001 is 1, and 11111111 is 255.
Everything digital — photos, videos, websites — is built from millions of bytes.
Let's see your name in binary.
Digital images are made of tiny squares called pixels. Each pixel stores three colors: Red, Green, and Blue (RGB).
Each color is saved using one byte — 8 bits. That means every pixel contains:
- 8 bits for Red
- 8 bits for Green
- 8 bits for Blue
Altogether, that's 24 bits per pixel.
We can adjust how much red, green, and blue is in a pixel by picking a number between 0 and 255.
Here is our original image (100 pixels by 100 pixels):
Let's see how we can alter the pixels to hide our secret.
LSB steganography hides secret data in the Least Significant Bit — the last bit — of each color value.
Changing this bit only modifies the red, green, or blue by one number.
>>> Click the image to flip all the LSB's <<<
Can you tell the difference?
I promise you, it is not broken, and there are two different images.
Conversely, each byte also has a Most Significant Bit — the first bit — of each color value.
Changing this bit will modify the red, green, or blue by a value of 128.
>>> Click the image to flip all the MSB's <<<
Quite a change, huh?
Look at the difference side-by-side using the sliders.
Each pixel can hide 3 secret bits (the LSB in each color channel), without changing how the image looks to the naked eye.
Let’s say you have a 50x50 image — that’s 2,500 pixels.
With 3 bits hidden in each pixel, you get:
- 2,500 × 3 = 7,500 bits
- That’s 937.5 bytes or 0.94 KB.
Enough to hide a secret message, a URL, or even a tiny file.
A quick gotcha on image formats:
- The LSB technique only works on
losslessformats that preserve all bits (like .png or .bmp). Lossyformats get rid of the least important bits, and that's where LSB stores data (like .jpeg).
What's next?
>>> Hide your own message. <<<<
>>> Learn more about binary. <<<
>>> Find and decode the message I've hidden on this page. <<<<