White Noise PNG Generator

Builds a PNG of classic grayscale 'TV static' noise, one random gray value per pixel applied equally to red, green, and blue. Generation is driven by a seed, so the exact same static pattern can be reproduced later just by reusing that seed number. Runs entirely in your browser. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-26

Overview

Introduction

This tool generates a grayscale PNG of classic black-and-white TV static, entirely in your browser.

Because generation is seeded, you can reproduce the exact same static pattern again later, which is useful for testing, fixtures, or recreating a texture you liked.

What Is White Noise PNG Generator?

A grayscale noise generator that walks every pixel of a buffer and draws a single random 0-255 value per pixel, applying that same value to red, green, and blue so the result is always neutral gray, never colored.

The underlying algorithm is mulberry32, a small, fast, well-distributed 32-bit PRNG commonly used when JavaScript's built-in Math.random (which cannot be seeded) isn't suitable.

How White Noise PNG Generator Works

The seed is converted to an unsigned 32-bit integer and used to initialize the mulberry32 generator, which produces a repeatable stream of pseudo-random floats between 0 and 1.

For every pixel, exactly one value is drawn from that stream, scaled to 0-255, and written into the red, green, and blue channels alike, with alpha fixed at 255; because the stream order is fixed, the same seed and dimensions always reproduce the same static pattern.

When To Use White Noise PNG Generator

Use it whenever you need a grayscale static/noise texture: for testing image pipelines, generating a film-grain-style overlay, or a nostalgic 'no signal' TV screen effect.

The seed makes it useful for reproducible test fixtures where you need the 'same' noise texture across multiple runs.

Often used alongside Random PNG Generator and Empty PNG Creator.

Features

Advantages

  • Fully reproducible: the same seed and size always produce identical pixel data.
  • Always strictly grayscale, useful when a colored noise pattern like the Random PNG Generator's output wouldn't fit the use case.
  • Runs entirely client-side with no server round-trip or upload.

Limitations

  • mulberry32 is not cryptographically secure; do not use this output anywhere randomness needs to resist prediction or tampering.
  • There's no control over the noise's brightness distribution — values are drawn uniformly across the full 0-255 range with no contrast or bias adjustment.

Examples

Small reproducible static swatch

Input

width=4, height=4, seed=42

Output

A 4x4 grayscale PNG of TV static; regenerating with seed=42 again produces the identical 16 pixels

Seeding guarantees the same pseudo-random sequence, so the image is fully reproducible.

Different seed, different pattern

Input

width=8, height=8, seed=1 vs seed=2

Output

Two visually distinct 8x8 grayscale static images

Changing the seed changes the entire pseudo-random sequence from the first pixel onward.

Best Practices & Notes

Best Practices

  • Record the seed alongside any generated static pattern you want to reproduce later.
  • Use small sizes for quick previews before generating a large, slower-to-render canvas.

Developer Notes

generateWhiteNoisePng is a pure function with no DOM dependency; the mulberry32 PRNG is implemented locally in this file (per this codebase's convention of duplicating the small helper per tool rather than sharing it), drawing exactly one random value per pixel and reusing it across all three color channels.

White Noise PNG Generator Use Cases

  • Generating a grayscale film-grain or noise overlay texture
  • Creating a nostalgic 'no signal' TV static image
  • Producing a reproducible grayscale noise fixture for testing

Common Mistakes

  • Expecting colored static — this tool always produces neutral gray pixels, unlike the Random PNG Generator.
  • Forgetting to save the seed, then being unable to regenerate a previously-liked noise pattern.

Tips

  • Try a range of small seeds (1, 2, 3...) to quickly browse different static patterns.
  • Layer the output at low opacity over another image (using an external editor) for a quick film-grain effect.

References

Frequently Asked Questions