fast-blurhash

Fast and tiny js decoder for the Wolt BlurHash algorithm

Usage no npm install needed!

<script type="module">
  import fastBlurhash from 'https://cdn.skypack.dev/fast-blurhash';
</script>

README

fast-blurhash

npm npm bundle size

Fast & tiny Wolt BlurHash decoder implementation

Demo

Install

npm install --save fast-blurhash

API

fast-blurhash provides a drop-in replacement for original blurhash.decode

decodeBlurHash(blurhash: string, width: number, height: number, punch?: number) => Uint8ClampedArray`

decodeBlurHash uses approximate calculation for speed reasons. Results may slightly differ from original blurhash.decode but the diff is not noticeable (see tests).

⚠️ decodeBlurHash does not validate input.

Example

import { decodeBlurHash } from 'fast-blurhash';

const pixels = decodeBlurHash('LEHV6nWB2yk8pyo0adR*.7kCMdnj', 32, 32);

const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const imageData = ctx.createImageData(width, height);
imageData.data.set(pixels);
ctx.putImageData(imageData, 0, 0);
document.body.append(canvas);