Hide any image inside another one by rearranging its pixels. Upload a source photo — its pixels get disassembled, sorted, and reassembled to recreate a completely different image. Same pixels, new picture. Try it.

100% client-side · No servers · Your images never leave your browser
Source
Pixels will be taken from this image
Click or drop image JPG, PNG, WebP
Target
Result will try to look like this
Click or drop image JPG, PNG, WebP
Disassembling
Breaking source image into individual pixels
Disassemble
Inventory
Rebuild
Source
Inventory
Final Result
How it works
1

Your source image is disassembled into individual pixels — every single one is extracted.

2

Those pixels are sorted into an inventory by the chosen criterion (e.g. luminance: darkest to brightest), forming a smooth gradient.

3

Pixels are pulled from the inventory and placed one by one into positions that recreate the target image. Dark pixels go where the target is dark, bright ones where it's bright.

4

The result uses only pixels from your source — nothing is created or modified. It's a pure rearrangement.