Zero Signup ToolsFree browser tools

Image Tools

BlurHash Generator

Turn an image into a BlurHash placeholder string in your browser, tune the detail, preview the blur, and copy React and JavaScript snippets. Decoder included.

Runs in your browser. Nothing is uploaded.

What you will get

Drop an image and this tool produces its BlurHash: the short ASCII string that apps store and decode into a soft blurred placeholder while the real image loads. You can tune how much detail the hash keeps, preview the exact blur it will produce, and copy ready-made snippets for the JavaScript decoder and React.

  • Compact

    A typical hash is 20 to 35 characters, small enough to live in a JSON response or a database column.

  • True preview

    The preview is decoded from the generated string, so what you see is exactly what a client will render.

  • Adjustable detail

    Choose 1 to 9 components per axis to trade string length for how much structure the blur keeps.

  • Private

    Encoding happens on your device with a canvas. The image is never uploaded.

How BlurHash works

BlurHash represents an image as a handful of cosine transform coefficients, then packs them into a base83 string. Decoding runs the transform in reverse to paint a smooth gradient that captures the overall colors and layout without any of the detail.

The string

  • Character 1 encodes the component grid (X and Y).
  • Character 2 encodes the maximum AC value.
  • Characters 3 to 6 are the average color (DC term).
  • Every two characters after that are one AC coefficient.

Choosing components

  • Low values (3 x 3) give a soft, very short hash.
  • 4 x 3 is a balanced default used by many apps.
  • Higher values keep more structure but lengthen the string.
  • Match the X to Y ratio roughly to the image shape.

Where it is used

  • Image loading placeholders in apps and feeds.
  • Saved next to image URLs in an API response.
  • Decoded client side before the full image downloads.

Good to know

  • The hash does not store size; you pick the render size.
  • Punch only boosts contrast at decode time.
  • It is a blur, not a thumbnail; fine detail is lost by design.

How to use

  1. Keep the Image to BlurHash tab selected and drop an image, or click to choose a file.
  2. Adjust the horizontal and vertical component sliders to trade string length for detail, watching the preview update.
  3. Copy the BlurHash string, or copy a ready-made React or JavaScript snippet to use it in your project.
  4. Switch to the BlurHash to image tab to paste an existing hash, set a width, height, and punch, and render it.
  5. Use the decoder to verify a hash returned by an API or to preview how a stored value will look.

About this tool

BlurHash Generator converts an image into a BlurHash, the compact ASCII string apps use to show a smooth blurred placeholder while the real image loads. The format was popularized by Unsplash and is used by products like Wolt, Mastodon, and Signal because the string is short enough (typically 20 to 35 characters) to live inside a JSON response or a database column right next to the image URL, then decode to a pleasant blur on any client before the full asset arrives. This tool runs the canonical BlurHash algorithm entirely in your browser. In encode mode you drop an image and the tool draws a downscaled copy to a canvas, reads the pixels, converts them from sRGB to linear light, runs a discrete cosine transform over the number of components you choose, and packs the coefficients into a base83 string. The first character stores the component grid, the second stores the maximum AC value used to quantize the rest, the next four characters hold the average color, and every two characters after that are one more coefficient. You control how many components run along the X and Y axes, from 1 to 9 each: fewer components give a softer, shorter hash, while more components keep additional structure at the cost of a longer string, and 4 by 3 is a balanced default that many apps use. The preview is not a stand-in. It is rendered by decoding the exact string the tool just produced, so what you see is what a client will paint. The tool also generates copy-ready snippets for the React component from the react-blurhash package, the plain JavaScript decode-to-canvas approach using the blurhash package, and a raw data attribute for storing the value. Decode mode does the reverse: paste any BlurHash string, set an output width, height, and punch (a contrast boost applied only at render time), and the tool validates the base83 characters and the declared grid size, reports a clear error if either is wrong, and renders the blur. Because a BlurHash does not store its own dimensions, you always choose the output size yourself. Everything happens on your device. The image you drop is decoded locally with the File API and a canvas, and its pixels are never uploaded.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsImage Tools