Replay a declared pixel recipe
Each row is processed left to right with xorshift32-gray-offset-v1. Create on gray128 or apply the same signed offset to source RGB channels. Seed, dimensions, strength and decoded source determine the output.
Generate seeded noise or add seeded grain to a browser-local image and download a PNG.
Noise image
Choose the settings and submit. The preview and download use the actual output pixels.
Metadata, animation and original encoded bytes are not retained. Browser color handling and alpha round trips can differ. The original selected file is never changed.
REPLAY THE GRAIN
Gray pixels: 108, 109, 133 / 111, 130, 115. One seeded offset per pixel; alpha 255.

NEUTRAL BASELINE
SEEDED OUTPUT
Gray pixels: 108, 109, 133 / 111, 130, 115. One seeded offset per pixel; alpha 255.
THE FIELD NOTES
Use the result now, then read the practical notes for assumptions, examples, limitations, and the choices behind it.
Gray pixels: 108, 109, 133 / 111, 130, 115. One seeded offset per pixel; alpha 255.
Each row is processed left to right with xorshift32-gray-offset-v1. Create on gray128 or apply the same signed offset to source RGB channels. Seed, dimensions, strength and decoded source determine the output.
Noise does not recover detail, remove noise, prove authenticity or anonymize a subject. Clipping changes the distribution at dark and light channel limits. This is uniform signed grayscale grain, not Gaussian noise.
Review original and seeded variants together with the contact sheet generator, labeling each variant's seed. Check the exported raster with the image size checker before fitting it to a channel's image requirements.
Static JPEG, PNG or WebP up to 10 MiB, 4096 px per edge and 8 million decoded pixels. PNG export is capped at 40 MiB. Animated and corrupt files are rejected. Original file metadata and encoded bytes are not retained.
Decoding, processing and PNG creation happen in this browser. Analytics records fixed action/status categories, never image bytes, filenames, dimensions, seeds or entered values.
THE PRODUCT IS NEXT
Each row is processed left to right with xorshift32-gray-offset-v1. Create on gray128 or apply the same signed offset to source RGB channels. Seed, dimensions, strength and decoded source determine the output.
Noise does not recover detail, remove noise, prove authenticity or anonymize a subject. Clipping changes the distribution at dark and light channel limits. This is uniform signed grayscale grain, not Gaussian noise.
Review original and seeded variants together with the contact sheet generator, labeling each variant's seed. Check the exported raster with the image size checker before fitting it to a channel's image requirements.
Static JPEG, PNG or WebP up to 10 MiB, 4096 px per edge and 8 million decoded pixels. PNG export is capped at 40 MiB. Animated and corrupt files are rejected. Original file metadata and encoded bytes are not retained.
Decoding, processing and PNG creation happen in this browser. Analytics records fixed action/status categories, never image bytes, filenames, dimensions, seeds or entered values.
The same version, seed, dimensions, strength, mode and decoded source reproduce the output pixels. PNG bytes and source color decoding can differ across browsers.
Yes. Choose Apply to image and load a supported static image. The same signed offset is added to RGB at each pixel, with alpha preserved in the pixel buffer.
No. It is a decorative pseudorandom effect, not provenance proof, denoising, redaction or anonymization.
BUILT BY LOOK ATLAS
Turn a simple product photo into polished, campaign-ready creative for your store, ads, and social channels. No studio. No reshoots.
Create your first shoot free, then keep going when you’re ready.