Research
sharp's prebuilt binary reads HEIC metadata, then can't decode it
The Brief
- On 2026-11-06 the author tested the prebuilt sharp 0.34.5 from npm on an Apple M4 Mac.
- sharp's metadata() read a HEIC file, but decoding that file failed.
- The author wanted to know whether a small backend could convert seller HEIC photos to JPEG using only sharp.
Why it matters
Developers who rely on sharp alone to convert HEIC uploads to JPEG may see metadata reads succeed while the actual conversion fails.
Who’s affected
- Teams converting HEIC uploads to JPEG with sharp
- sharp 0.34.5
- #sharp
- #heic
- #image-processing
- #nodejs
- #metadata
I wanted to know whether a small store backend could take HEIC photos from sellers and turn them into JPEG with nothing but sharp. On 2026-11-06 I tested the prebuilt sharp 0.34.5 from npm on an Apple M4 Mac, and the answer was half yes. metadata() read a HEIC file without…