ChromaHash Visual Comparison Report

Cross-Format Comparison

Natural & Realistic Images Only

FormatAvg Size (B)Encode (ms)Decode (ms)Avg ΔE00 ↓Avg DSSIM ↓Avg MS-SSIM ↑Avg PSNR-HVS-M ↑Avg SSIMULACRA2 ↑Avg Butteraugli ↓Avg PSNR (dB) ↑
ChromaHash 32.0 17.879 8.048 8.75 0.2897 0.5132 14.2 -18.8 17.08 19.0
ThumbHash 21.0 0.764 0.219 10.60 0.2989 0.4652 13.2 -34.7 19.77 17.9
BlurHash 36.0 10.440 0.378 13.26 0.3236 0.3903 11.5 -51.1 26.26 16.0
lqip-modern 84.0 2.335 0.000 9.17 0.2521 0.6732 15.9 3.8 11.92 20.4
unpic 592.0 10.466 0.000 N/A N/A N/A N/A N/A N/A N/A
All Images (including synthetic test cases)
FormatAvg Size (B)Encode (ms)Decode (ms)Avg ΔE00 ↓Avg DSSIM ↓Avg MS-SSIM ↑Avg PSNR-HVS-M ↑Avg SSIMULACRA2 ↑Avg Butteraugli ↓Avg PSNR (dB) ↑
ChromaHash 32.0 10.199 7.829 4.33 0.2164 0.6247 26.5 56.9 8.78 30.8
ThumbHash 22.6 0.265 0.226 7.56 0.2316 0.5782 22.7 47.6 14.90 25.9
BlurHash 36.0 3.402 0.337 11.14 0.2788 0.4582 13.6 33.1 21.32 17.6
lqip-modern 75.0 1.374 0.000 4.68 0.1677 0.7721 25.9 63.8 8.65 29.7
unpic 592.0 3.420 0.000 N/A N/A N/A N/A N/A N/A N/A
Methodology

Identical-dimension comparison: every format's decoded preview is Lanczos-3 resampled to the encoder-input (source) resolution and compared against that input, so all formats are scored at the same W×H per image. CIEDE2000 (ΔE00) is the primary metric — color accuracy dominates perceived quality for low-fidelity placeholders, where PSNR correlates poorly. All metrics are computed by iqa-cli (the iqa-rs crate); window-based metrics are omitted (N/A) for images below their minimum size.

MetricWhat it measuresDirection
ΔE00 (CIEDE2000)Primary. Mean perceptual color difference over sRGB→CIELAB (D65)lower; JND ≈ 1
DSSIM(1−SSIM)/2; structural fidelitylower; 0 = identical
MS-SSIMMulti-scale SSIMhigher; 1 = identical
PSNR-HVS-MDCT-domain PSNR with CSF + contrast masking (dB)higher
SSIMULACRA2Perceptual full-reference scorehigher; 100 = identical
ButteraugliPerceptual distance (libjxl)lower; 0 = identical
PSNRClassic pixel MSE metric; penalises intentional LQIP blurhigher; reference only

ΔE00 colour coding: good < 2, warn < 5, bad ≥ 5. DSSIM: good < 0.10, warn < 0.25.

Dimensions
dim-100x1
Original Encoder input
Original
100x1px
ChromaHash
ChromaHash
32x1px | 32B | ΔE:0.72
ThumbHash
ThumbHash
32x5px | 17B | ΔE:11.00
BlurHash
BlurHash
32x32px | 36B | ΔE:11.01
lqip-modern
lqip-modern
16x1px | 58B | ΔE:1.89
unpic
0x0px | 592B
dim-100x100
Original Encoder input
Original
100x100px
ChromaHash
ChromaHash
32x32px | 32B | ΔE:2.08 DSSIM:0.034
ThumbHash
ThumbHash
32x32px | 24B | ΔE:8.63 DSSIM:0.085
BlurHash
BlurHash
32x32px | 36B | ΔE:17.72 DSSIM:0.144
lqip-modern
lqip-modern
16x16px | 70B | ΔE:3.47 DSSIM:0.024
unpic
0x0px | 592B
dim-16x16
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:1.99 DSSIM:0.007
ThumbHash
ThumbHash
32x32px | 24B | ΔE:8.00 DSSIM:0.038
BlurHash
BlurHash
32x32px | 36B | ΔE:16.73 DSSIM:0.167
lqip-modern
lqip-modern
16x16px | 74B | ΔE:3.06 DSSIM:0.010
unpic
0x0px | 592B
dim-16x9
Original Encoder input
Original
16x9px
ChromaHash
ChromaHash
16x9px | 32B | ΔE:2.18
ThumbHash
ThumbHash
32x18px | 19B | ΔE:8.33
BlurHash
BlurHash
32x32px | 36B | ΔE:17.08
lqip-modern
lqip-modern
16x9px | 76B | ΔE:3.13
unpic
0x0px | 592B
dim-1x1
Original Encoder input
Original
1x1px
ChromaHash
ChromaHash
1x1px | 32B | ΔE:0.55
ThumbHash
ThumbHash
32x32px | 24B | ΔE:22.58
BlurHash
BlurHash
32x32px | 36B | ΔE:15.02
lqip-modern
lqip-modern
1x1px | 54B | ΔE:1.81
unpic
0x0px | 592B
dim-1x100
Original Encoder input
Original
1x100px
ChromaHash
ChromaHash
1x32px | 32B | ΔE:0.88
ThumbHash
ThumbHash
5x32px | 17B | ΔE:11.48
BlurHash
BlurHash
32x32px | 36B | ΔE:10.93
lqip-modern
lqip-modern
1x16px | 64B | ΔE:1.60
unpic
0x0px | 592B
dim-4x4
Original Encoder input
Original
4x4px
ChromaHash
ChromaHash
4x4px | 32B | ΔE:1.22
ThumbHash
ThumbHash
32x32px | 24B | ΔE:7.01
BlurHash
BlurHash
32x32px | 36B | ΔE:18.65
lqip-modern
lqip-modern
4x4px | 88B | ΔE:10.04
unpic
0x0px | 592B
dim-4x8
Original Encoder input
Original
4x8px
ChromaHash
ChromaHash
4x8px | 32B | ΔE:2.90
ThumbHash
ThumbHash
18x32px | 19B | ΔE:7.79
BlurHash
BlurHash
32x32px | 36B | ΔE:17.40
lqip-modern
lqip-modern
4x8px | 82B | ΔE:4.99
unpic
0x0px | 592B
dim-8x4
Original Encoder input
Original
8x4px
ChromaHash
ChromaHash
8x4px | 32B | ΔE:2.48
ThumbHash
ThumbHash
32x18px | 19B | ΔE:7.72
BlurHash
BlurHash
32x32px | 36B | ΔE:16.12
lqip-modern
lqip-modern
8x4px | 82B | ΔE:5.17
unpic
0x0px | 592B
dim-9x6
Original Encoder input
Original
9x6px
ChromaHash
ChromaHash
9x6px | 32B | ΔE:2.22
ThumbHash
ThumbHash
32x23px | 21B | ΔE:8.32
BlurHash
BlurHash
32x32px | 36B | ΔE:17.61
lqip-modern
lqip-modern
9x6px | 76B | ΔE:4.21
unpic
0x0px | 592B
Alpha
alpha-checkerboard
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.24
ThumbHash
ThumbHash
32x32px | 25B | ΔE:0.33
BlurHash
BlurHash
32x32px | 36B | ΔE:6.12
lqip-modern
lqip-modern
8x8px | 98B | ΔE:1.39
unpic
0x0px | 592B
alpha-fully-transparent
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 25B | ΔE:0.00
BlurHash
BlurHash
32x32px | 36B | ΔE:0.00
lqip-modern
lqip-modern
8x8px | 80B | ΔE:0.00
unpic
0x0px | 592B
alpha-gradient
Original Encoder input
Original
16x8px
ChromaHash
ChromaHash
16x8px | 32B | ΔE:0.41
ThumbHash
ThumbHash
32x19px | 23B | ΔE:2.12
BlurHash
BlurHash
32x32px | 36B | ΔE:4.16
lqip-modern
lqip-modern
16x8px | 110B | ΔE:0.84
unpic
0x0px | 592B
alpha-opaque
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.41
ThumbHash
ThumbHash
32x32px | 24B | ΔE:0.64
BlurHash
BlurHash
32x32px | 36B | ΔE:5.21
lqip-modern
lqip-modern
8x8px | 56B | ΔE:0.77
unpic
0x0px | 592B
alpha-single-pixel
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.41
ThumbHash
ThumbHash
32x32px | 25B | ΔE:0.64
BlurHash
BlurHash
32x32px | 36B | ΔE:5.21
lqip-modern
lqip-modern
8x8px | 102B | ΔE:0.77
unpic
0x0px | 592B
alpha-uniform-128
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.41
ThumbHash
ThumbHash
32x32px | 25B | ΔE:0.91
BlurHash
BlurHash
32x32px | 36B | ΔE:5.21
lqip-modern
lqip-modern
8x8px | 92B | ΔE:0.77
unpic
0x0px | 592B
Color Distribution
checkerboard
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:36.89 DSSIM:0.498
ThumbHash
ThumbHash
32x32px | 24B | ΔE:36.67 DSSIM:0.498
BlurHash
BlurHash
32x32px | 36B | ΔE:40.47 DSSIM:0.499
lqip-modern
lqip-modern
16x16px | 104B | ΔE:0.57 DSSIM:0.000
unpic
0x0px | 592B
gradient-2d
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:1.99 DSSIM:0.007
ThumbHash
ThumbHash
32x32px | 24B | ΔE:8.00 DSSIM:0.038
BlurHash
BlurHash
32x32px | 36B | ΔE:16.73 DSSIM:0.167
lqip-modern
lqip-modern
16x16px | 74B | ΔE:3.06 DSSIM:0.010
unpic
0x0px | 592B
gradient-horizontal
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:1.20 DSSIM:0.019
ThumbHash
ThumbHash
32x32px | 24B | ΔE:5.52 DSSIM:0.027
BlurHash
BlurHash
32x32px | 36B | ΔE:8.01 DSSIM:0.082
lqip-modern
lqip-modern
16x16px | 64B | ΔE:2.81 DSSIM:0.052
unpic
0x0px | 592B
gradient-vertical
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:1.04 DSSIM:0.004
ThumbHash
ThumbHash
32x32px | 24B | ΔE:5.26 DSSIM:0.043
BlurHash
BlurHash
32x32px | 36B | ΔE:6.16 DSSIM:0.070
lqip-modern
lqip-modern
16x16px | 70B | ΔE:1.81 DSSIM:0.013
unpic
0x0px | 592B
noise
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:30.24 DSSIM:0.483
ThumbHash
ThumbHash
32x32px | 24B | ΔE:31.39 DSSIM:0.492
BlurHash
BlurHash
32x32px | 36B | ΔE:30.93 DSSIM:0.486
lqip-modern
lqip-modern
16x16px | 182B | ΔE:25.74 DSSIM:0.279
unpic
0x0px | 592B
solid-black
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:1.18
BlurHash
BlurHash
32x32px | 36B | ΔE:0.00
lqip-modern
lqip-modern
8x8px | 44B | ΔE:0.00
unpic
0x0px | 592B
solid-blue
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:0.03
BlurHash
BlurHash
32x32px | 36B | ΔE:2.09
lqip-modern
lqip-modern
8x8px | 60B | ΔE:0.42
unpic
0x0px | 592B
solid-gray
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:2.23
BlurHash
BlurHash
32x32px | 36B | ΔE:6.11
lqip-modern
lqip-modern
8x8px | 44B | ΔE:0.38
unpic
0x0px | 592B
solid-green
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:0.21
BlurHash
BlurHash
32x32px | 36B | ΔE:3.77
lqip-modern
lqip-modern
8x8px | 62B | ΔE:0.10
unpic
0x0px | 592B
solid-red
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:0.23
BlurHash
BlurHash
32x32px | 36B | ΔE:3.47
lqip-modern
lqip-modern
8x8px | 60B | ΔE:0.72
unpic
0x0px | 592B
solid-white
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:1.06
BlurHash
BlurHash
32x32px | 36B | ΔE:3.63
lqip-modern
lqip-modern
8x8px | 44B | ΔE:0.00
unpic
0x0px | 592B
Quantization
monochrome
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:1.06 DSSIM:0.005
ThumbHash
ThumbHash
32x32px | 24B | ΔE:5.10 DSSIM:0.031
BlurHash
BlurHash
32x32px | 36B | ΔE:19.80 DSSIM:0.323
lqip-modern
lqip-modern
16x16px | 54B | ΔE:0.94 DSSIM:0.003
unpic
0x0px | 592B
near-black-gradient
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:0.47 DSSIM:0.006
ThumbHash
ThumbHash
32x32px | 24B | ΔE:1.73 DSSIM:0.035
BlurHash
BlurHash
32x32px | 36B | ΔE:0.53 DSSIM:0.007
lqip-modern
lqip-modern
16x16px | 48B | ΔE:1.56 DSSIM:0.017
unpic
0x0px | 592B
near-white-gradient
Original Encoder input
Original
16x16px
ChromaHash
ChromaHash
16x16px | 32B | ΔE:0.14 DSSIM:0.001
ThumbHash
ThumbHash
32x32px | 24B | ΔE:2.17 DSSIM:0.018
BlurHash
BlurHash
32x32px | 36B | ΔE:2.35 DSSIM:0.173
lqip-modern
lqip-modern
16x16px | 46B | ΔE:0.30 DSSIM:0.003
unpic
0x0px | 592B
saturated-cool
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.25
ThumbHash
ThumbHash
32x32px | 24B | ΔE:1.55
BlurHash
BlurHash
32x32px | 36B | ΔE:8.89
lqip-modern
lqip-modern
8x8px | 60B | ΔE:0.67
unpic
0x0px | 592B
saturated-warm
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:0.16
BlurHash
BlurHash
32x32px | 36B | ΔE:5.77
lqip-modern
lqip-modern
8x8px | 60B | ΔE:0.21
unpic
0x0px | 592B
Gamut

ΔE00 is scored in sRGB against the source's color-managed sRGB appearance, so the cross-format comparison stays apples-to-apples; the gamut-aware ChromaHash matches it while formats that ignore the source gamut look off (higher ΔE00). The Display P3 row's Original and ChromaHash previews are decoded to P3 and tagged with the P3 ICC profile: on a wide-gamut (P3) display they show the true saturated color and match each other, while the sRGB-only formats appear less saturated — ChromaHash renders correctly to the display's gamut.

gamut-adobe-rgb
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.25
ThumbHash
ThumbHash
32x32px | 24B | ΔE:7.67
BlurHash
BlurHash
32x32px | 36B | ΔE:8.29
lqip-modern
lqip-modern
8x8px | 60B | ΔE:6.90
unpic
0x0px | 592B
gamut-bt2020
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.00
ThumbHash
ThumbHash
32x32px | 24B | ΔE:6.81
BlurHash
BlurHash
32x32px | 36B | ΔE:8.21
lqip-modern
lqip-modern
8x8px | 60B | ΔE:6.04
unpic
0x0px | 592B
gamut-p3
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.43
ThumbHash
ThumbHash
32x32px | 24B | ΔE:4.53
BlurHash
BlurHash
32x32px | 36B | ΔE:7.17
lqip-modern
lqip-modern
8x8px | 60B | ΔE:3.79
unpic
0x0px | 592B
gamut-prophoto
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.16
ThumbHash
ThumbHash
32x32px | 24B | ΔE:6.38
BlurHash
BlurHash
32x32px | 36B | ΔE:8.08
lqip-modern
lqip-modern
8x8px | 60B | ΔE:5.88
unpic
0x0px | 592B
gamut-srgb
Original Encoder input
Original
8x8px
ChromaHash
ChromaHash
8x8px | 32B | ΔE:0.48
ThumbHash
ThumbHash
32x32px | 24B | ΔE:0.78
BlurHash
BlurHash
32x32px | 36B | ΔE:5.74
lqip-modern
lqip-modern
8x8px | 60B | ΔE:0.18
unpic
0x0px | 592B
Natural
natural-autumn
Original Encoder input
Original
5000x3333px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:12.00 DSSIM:0.397
ThumbHash
ThumbHash
32x23px | 21B | ΔE:14.07 DSSIM:0.406
BlurHash
BlurHash
32x32px | 36B | ΔE:15.40 DSSIM:0.423
lqip-modern
lqip-modern
16x11px | 86B | ΔE:12.14 DSSIM:0.355
unpic
0x0px | 592B
natural-bridge
Original Encoder input
Original
5000x3333px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:8.82 DSSIM:0.260
ThumbHash
ThumbHash
32x23px | 21B | ΔE:9.74 DSSIM:0.262
BlurHash
BlurHash
32x32px | 36B | ΔE:10.41 DSSIM:0.260
lqip-modern
lqip-modern
16x11px | 88B | ΔE:9.27 DSSIM:0.232
unpic
0x0px | 592B
natural-building
Original Encoder input
Original
5000x3333px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:6.35 DSSIM:0.270
ThumbHash
ThumbHash
32x23px | 21B | ΔE:7.12 DSSIM:0.276
BlurHash
BlurHash
32x32px | 36B | ΔE:8.43 DSSIM:0.278
lqip-modern
lqip-modern
16x11px | 70B | ΔE:7.27 DSSIM:0.249
unpic
0x0px | 592B
natural-city
Original Encoder input
Original
5000x3333px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:7.69 DSSIM:0.216
ThumbHash
ThumbHash
32x23px | 21B | ΔE:9.61 DSSIM:0.235
BlurHash
BlurHash
32x32px | 36B | ΔE:12.50 DSSIM:0.240
lqip-modern
lqip-modern
16x11px | 82B | ΔE:9.37 DSSIM:0.200
unpic
0x0px | 592B
natural-coast
Original Encoder input
Original
5000x3338px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:8.58 DSSIM:0.280
ThumbHash
ThumbHash
32x23px | 21B | ΔE:10.69 DSSIM:0.293
BlurHash
BlurHash
32x32px | 36B | ΔE:12.25 DSSIM:0.306
lqip-modern
lqip-modern
16x11px | 78B | ΔE:8.25 DSSIM:0.213
unpic
0x0px | 592B
natural-food
Original Encoder input
Original
4928x3264px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:5.51 DSSIM:0.147
ThumbHash
ThumbHash
32x23px | 21B | ΔE:6.95 DSSIM:0.144
BlurHash
BlurHash
32x32px | 36B | ΔE:6.17 DSSIM:0.160
lqip-modern
lqip-modern
16x11px | 72B | ΔE:7.27 DSSIM:0.126
unpic
0x0px | 592B
natural-forest
Original Encoder input
Original
5000x3333px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:7.35 DSSIM:0.226
ThumbHash
ThumbHash
32x23px | 21B | ΔE:10.09 DSSIM:0.254
BlurHash
BlurHash
32x32px | 36B | ΔE:15.84 DSSIM:0.297
lqip-modern
lqip-modern
16x11px | 86B | ΔE:6.94 DSSIM:0.179
unpic
0x0px | 592B
natural-lake
Original Encoder input
Original
5000x3333px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:11.14 DSSIM:0.311
ThumbHash
ThumbHash
32x23px | 21B | ΔE:14.96 DSSIM:0.333
BlurHash
BlurHash
32x32px | 36B | ΔE:18.94 DSSIM:0.374
lqip-modern
lqip-modern
16x11px | 112B | ΔE:11.36 DSSIM:0.243
unpic
0x0px | 592B
natural-mountains
Original Encoder input
Original
5000x3490px
ChromaHash
ChromaHash
32x22px | 32B | ΔE:5.65 DSSIM:0.258
ThumbHash
ThumbHash
32x23px | 21B | ΔE:8.78 DSSIM:0.274
BlurHash
BlurHash
32x32px | 36B | ΔE:13.37 DSSIM:0.305
lqip-modern
lqip-modern
16x11px | 74B | ΔE:5.41 DSSIM:0.209
unpic
0x0px | 592B
natural-ocean-sunset
Original Encoder input
Original
4752x3168px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:9.52 DSSIM:0.336
ThumbHash
ThumbHash
32x23px | 21B | ΔE:11.94 DSSIM:0.343
BlurHash
BlurHash
32x32px | 36B | ΔE:13.54 DSSIM:0.364
lqip-modern
lqip-modern
16x11px | 94B | ΔE:9.41 DSSIM:0.261
unpic
0x0px | 592B
natural-pug
Original Encoder input
Original
4951x3301px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:9.79 DSSIM:0.383
ThumbHash
ThumbHash
32x23px | 21B | ΔE:11.10 DSSIM:0.390
BlurHash
BlurHash
32x32px | 36B | ΔE:13.51 DSSIM:0.404
lqip-modern
lqip-modern
16x11px | 76B | ΔE:10.24 DSSIM:0.359
unpic
0x0px | 592B
natural-river
Original Encoder input
Original
4928x3264px
ChromaHash
ChromaHash
32x21px | 32B | ΔE:8.73 DSSIM:0.296
ThumbHash
ThumbHash
32x23px | 21B | ΔE:10.63 DSSIM:0.312
BlurHash
BlurHash
32x32px | 36B | ΔE:11.54 DSSIM:0.355
lqip-modern
lqip-modern
16x11px | 78B | ΔE:9.92 DSSIM:0.273
unpic
0x0px | 592B
natural-sunset
Original Encoder input
Original
2900x4334px
ChromaHash
ChromaHash
21x32px | 32B | ΔE:6.88 DSSIM:0.181
ThumbHash
ThumbHash
23x32px | 21B | ΔE:8.08 DSSIM:0.169
BlurHash
BlurHash
32x32px | 36B | ΔE:13.87 DSSIM:0.235
lqip-modern
lqip-modern
11x16px | 94B | ΔE:7.59 DSSIM:0.145
unpic
0x0px | 592B
natural-tools
Original Encoder input
Original
5000x4061px
ChromaHash
ChromaHash
32x26px | 32B | ΔE:8.85 DSSIM:0.353
ThumbHash
ThumbHash
32x27px | 23B | ΔE:9.99 DSSIM:0.357
BlurHash
BlurHash
32x32px | 36B | ΔE:16.71 DSSIM:0.418
lqip-modern
lqip-modern
16x13px | 84B | ΔE:8.59 DSSIM:0.333
unpic
0x0px | 592B
natural-tulips
Original Encoder input
Original
5000x2901px
ChromaHash
ChromaHash
32x18px | 32B | ΔE:14.37 DSSIM:0.431
ThumbHash
ThumbHash
32x18px | 19B | ΔE:15.18 DSSIM:0.434
BlurHash
BlurHash
32x32px | 36B | ΔE:16.41 DSSIM:0.436
lqip-modern
lqip-modern
16x9px | 86B | ΔE:14.45 DSSIM:0.403
unpic
0x0px | 592B

Cross-Language Verification

LanguageStatus
RustN/A
CN/A
TypeScriptN/A
KotlinN/A
SwiftN/A
GoN/A
PythonN/A
C#N/A
Dimensions
dim-100x1
Original Encoder input
Original
100x1px
dim-100x100
Original Encoder input
Original
100x100px
dim-16x16
Original Encoder input
Original
16x16px
dim-16x9
Original Encoder input
Original
16x9px
dim-1x1
Original Encoder input
Original
1x1px
dim-1x100
Original Encoder input
Original
1x100px
dim-4x4
Original Encoder input
Original
4x4px
dim-4x8
Original Encoder input
Original
4x8px
dim-8x4
Original Encoder input
Original
8x4px
dim-9x6
Original Encoder input
Original
9x6px
Alpha
alpha-checkerboard
Original Encoder input
Original
8x8px
alpha-fully-transparent
Original Encoder input
Original
8x8px
alpha-gradient
Original Encoder input
Original
16x8px
alpha-opaque
Original Encoder input
Original
8x8px
alpha-single-pixel
Original Encoder input
Original
8x8px
alpha-uniform-128
Original Encoder input
Original
8x8px
Color Distribution
checkerboard
Original Encoder input
Original
16x16px
gradient-2d
Original Encoder input
Original
16x16px
gradient-horizontal
Original Encoder input
Original
16x16px
gradient-vertical
Original Encoder input
Original
16x16px
noise
Original Encoder input
Original
16x16px
solid-black
Original Encoder input
Original
8x8px
solid-blue
Original Encoder input
Original
8x8px
solid-gray
Original Encoder input
Original
8x8px
solid-green
Original Encoder input
Original
8x8px
solid-red
Original Encoder input
Original
8x8px
solid-white
Original Encoder input
Original
8x8px
Quantization
monochrome
Original Encoder input
Original
16x16px
near-black-gradient
Original Encoder input
Original
16x16px
near-white-gradient
Original Encoder input
Original
16x16px
saturated-cool
Original Encoder input
Original
8x8px
saturated-warm
Original Encoder input
Original
8x8px
Gamut
gamut-adobe-rgb
Original Encoder input
Original
8x8px
gamut-bt2020
Original Encoder input
Original
8x8px
gamut-p3
Original Encoder input
Original
8x8px
gamut-prophoto
Original Encoder input
Original
8x8px
gamut-srgb
Original Encoder input
Original
8x8px
Natural
natural-autumn
Original Encoder input
Original
5000x3333px
natural-bridge
Original Encoder input
Original
5000x3333px
natural-building
Original Encoder input
Original
5000x3333px
natural-city
Original Encoder input
Original
5000x3333px
natural-coast
Original Encoder input
Original
5000x3338px
natural-food
Original Encoder input
Original
4928x3264px
natural-forest
Original Encoder input
Original
5000x3333px
natural-lake
Original Encoder input
Original
5000x3333px
natural-mountains
Original Encoder input
Original
5000x3490px
natural-ocean-sunset
Original Encoder input
Original
4752x3168px
natural-pug
Original Encoder input
Original
4951x3301px
natural-river
Original Encoder input
Original
4928x3264px
natural-sunset
Original Encoder input
Original
2900x4334px
natural-tools
Original Encoder input
Original
5000x4061px
natural-tulips
Original Encoder input
Original
5000x2901px