C Implementation doesn't produce "best looking" blurhash
Author: hannojgCreated Jan 13, 2021Updated May 24, 2025
LabelsquestionTypeScriptC
I have just compared the blurhash TypeScript module and the C module (I was about to write a blurhash node module based on the C implementation for performance). The two blurhashes from the modules look different:
| C Implementation | TS implementation (better) |
|---|---|
![]() |
![]() |
| Has a dark spot in the top left corner | matches the image really well |
| LTEfiu4UEe-p0M-oxuRQnhtkRQR* | UEE:Ct005i~C00^%%MIUr;%yMyNG^R9uRP%M |
The original image used, with x: 4, y: 3 components:

Can someone explain the difference? Shouldn't the both modules create (nearly) the same output? I think that the result from the TS implementation looks better and the result from the C module should match this.
Source: woltapp/blurhash

