Binary to Image
Turn a stream of bits or bytes into a bitmap, or read an image back out as a 0/1 string.
A picture is just numbers. Paste a stream of bits or bytes below to draw it as a bitmap, or upload an image to read its pixels back out as a plain 0/1 string. Common in geocaching puzzles where a long run of ones and zeros hides a tiny piece of pixel art.
How it works
Bits to image (top)
Paste a stream, set the Width to the picture's real width, then press Render.
-
1 bit per pixel lays the bits out left to right, top to bottom, wrapping to a
new row at the chosen width. A 1 paints black and a 0 paints white, or the reverse with Invert
on. The last row is padded so the bitmap stays rectangular. You can paste a raw 0/1 bitstream,
or a list of hex or decimal bytes (like
ff a0 3cor255 160 60): byte lists are unpacked back into 8 bits each, so the hex and decimal byte views below rebuild the exact same picture as the bitstream. - Bytes to grayscale is the different reading: each value becomes one pixel from black (0) to white (255). Use this when your numbers or hex bytes really are per-pixel brightness levels, not packed black-and-white bits. Leave the source on Auto detect and it works out whether you pasted numbers, hex, or a bitstream.
Image to bits (bottom)
Upload an image, set the threshold, and read every pixel in row order. Each pixel is compared against the threshold to become a 0 (light) or 1 (dark). The result is shown three ways:
- Bitstream is the raw 0/1 string. Paste it back into the top in 1 bit per pixel mode, with Width set to the reported image width, to rebuild the picture.
- Bytes as hex and Bytes as decimal pack that same bitstream into 8-bit bytes (most significant bit first, last byte padded with zeros) and show each byte in hex or as a 0 to 255 number. Hand these to a hex or ASCII decoder when the hidden payload is text rather than a picture. To rebuild the picture instead, paste either list back into the input at the top (1 bit per pixel mode) and press Render: it unpacks to the same bits as the bitstream.
Bits to image
Case
Filter
Whitespace
Find & Replace
Group
Image to bits
Case
Filter
Whitespace
Find & Replace
Group
The same pixels packed into 8-bit bytes. Send hex or decimal to another decoder when the payload is text, or paste either list back into the input above (1 bit per pixel mode) and press Render to rebuild the picture.