Drop an image here
Select image
or drop it here — hashed instantly in your browser
Your BlurHash is ready!
Decode preview
Average color
Everything happened inside your browser — your image was never uploaded anywhere, so there is nothing to delete.
Hash checker — decode any BlurHash
Paste a BlurHash string to preview what it decodes to.
What is BlurHash (in one paragraph)
BlurHash is a compact string — typically around 28 characters — that encodes a blurred preview of an image. Instead of showing an empty box while a photo loads, apps decode the hash instantly and paint the blur first; the sharp image then fades in over it. It's the shimmer-placeholder pattern you know from Medium, Plaid, and countless Next.js sites: the page feels instant even on slow connections, because something meaningful appears immediately.
BlurHash vs ThumbHash — which placeholder?
BlurHash isn't the only compact placeholder. ThumbHash (by Evan Wallace) is the newer alternative, and the honest answer is that they trade off:
BlurHash wins when you need a plain string — it drops into URLs, JSON, and databases with zero encoding fuss, and a large ecosystem of decoders already exists. ThumbHash wins on fidelity: it encodes the aspect ratio (BlurHash doesn't), handles transparency/alpha (BlurHash renders it against black), and produces more accurate colors in roughly the same size. New projects with no legacy constraints usually pick ThumbHash; existing BlurHash pipelines have no reason to migrate. We ship a ThumbHash generator too — generate both and compare.
How the component sliders change the hash
The two numbers in every BlurHash — X and Y components, each 1 to 9 — set the detail level. 4×3 is the community default: enough to suggest the image's color regions, short enough to stay tiny. Push both to 9×9 and the hash grows longer and more faithful; drop to 1×1 and you get a single average color. The sliders above make this tangible: drag them, regenerate, and watch the decode preview gain or lose detail in real time. For most UI placeholders, the default is the right answer — extra components cost bytes for detail nobody perceives at blur scale.
How to use this generator
- Drop an image on the page. Click the box or drag the file in — JPG, PNG, WebP, anything the browser opens.
- Set components (or don't). The 4×3 default suits nearly every placeholder use. Adjust only if you have a reason.
- Generate and copy. One click encodes the hash, shows the decode preview and the average color. Copy the string into your app.
- Decode it in your app. Use an official decoder (JavaScript, Swift, Kotlin, Dart all exist) to paint the placeholder while the real image loads.
- Check any hash. Paste a BlurHash into the checker below to preview what it decodes to — handy when debugging someone else's strings.
Real-world use cases
- Image-heavy feeds — social timelines, marketplaces, galleries: every tile paints instantly, then sharpens.
- Next.js / React apps — generate the hash at build time, ship it with your data, decode client-side.
- Mobile apps — tiny strings travel with API responses; no extra placeholder image downloads.
- Slow-network UX — on 2G/3G, the blur arrives with the HTML while images trickle in.
- Design mockups — the average-color swatch gives designers the palette anchor for skeletons.
Tips
- Stick with 4×3 unless you have a reason. It's the default across the ecosystem for good reason — the sweet spot of size vs fidelity.
- Generate from the final crop. The hash encodes the image you feed it — hash the cropped/art-directed version, not the raw original.
- Pair with aspect-ratio boxes. BlurHash doesn't store aspect ratio, so reserve the layout space with CSS to avoid layout shift.
- Don't hash tiny thumbnails. Feed a reasonably sized source; the encoder downsamples internally anyway.
- Need transparency? Switch. BlurHash can't do alpha — that's ThumbHash territory.
The bottom line
A 28-character string that makes your app feel instant. Generate it here, ship it with your data, decode it on the client — and never show an empty gray box again.
Frequently asked questions
Is BlurHash Generator free to use without signup?
Yes. EzySize’s BlurHash Generator tool is free to use without creating an account. Advertising may appear on this page; the tool remains free to use. Use the controls above and check the result against your requirements.
What is a BlurHash?
A ~28-character string encoding a blurred preview of an image. Apps decode it instantly and show the blur while the real image loads — the placeholder pattern from Medium, Plaid and Next.js sites.
How do I generate a BlurHash from an image?
Drop the image on this page: it encodes the hash in your browser, shows a live decode preview, and gives you the string to copy. No upload, no signup, no watermark.
Is this BlurHash implementation correct?
Yes — it uses the official BlurHash reference algorithm, verified byte-identical against the reference implementation on test images (2026-10-08).
What do the X and Y components mean?
The 1–9 component counts set the detail level; 4×3 is the common default. More components = a more faithful (and longer) hash. Drag the sliders above and watch the preview change.
How do I use a BlurHash in React or Next.js?
Install a decoder package (e.g. react-blurhash), paste the hash string from this page into the component, and it renders the placeholder while your image loads.
BlurHash vs ThumbHash — which should I use?
BlurHash when you need a plain string (URLs, JSON) and have BlurHash infrastructure; ThumbHash for transparency, embedded aspect ratio and better color accuracy. We have a ThumbHash generator too — try both.
Can I decode a BlurHash to preview it?
Yes — paste any hash into the checker on this page and it renders the decoded preview instantly, entirely in your browser.
Does generating a BlurHash upload my image?
No — encoding runs entirely in your browser via canvas. Your image never leaves your device.
What image sizes work best?
Any size. The encoder downsamples internally, so a 4000px photo and its 400px version produce effectively the same hash.
Why does my hash differ from another tool’s?
Component counts and downsampling details vary between implementations. Same components + the reference algorithm = the same hash; ours matches the official reference exactly.
Can BlurHash handle transparency?
No — BlurHash has no alpha channel, so transparent areas encode against black. For transparency, use ThumbHash, which supports alpha.
Is BlurHash still worth using in 2026?
For string-safe placeholders with existing infrastructure, absolutely. New projects often choose ThumbHash for its alpha and aspect-ratio advantages — generate both here and pick what fits.