blurhash VS thumbhash

Compare blurhash vs thumbhash and see what are their differences.

blurhash

A very compact representation of a placeholder for an image. (by woltapp)

thumbhash

A very compact representation of an image placeholder (by evanw)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
blurhash thumbhash
41 9
14,997 3,230
1.2% -
5.5 2.5
about 1 month ago about 1 month ago
C Swift
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

blurhash

Posts with mentions or reviews of blurhash. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-13.

thumbhash

Posts with mentions or reviews of thumbhash. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-06.
  • Gcsfuse: A user-space file system for interacting with Google Cloud Storage
    15 projects | news.ycombinator.com | 6 Sep 2023
    You may wish to investigate cloudflare's image API: https://developers.cloudflare.com/images/cloudflare-images/

    If the reason you were unable to use a CDN cache was because your access patterns require a lot of varying end serializations (due to things like image manipulation, resizing, cropping, watermarking, etc.), then this API could be a huge money saver for you. It was for me.

    OTOH if the cost was because compute isn't free and the corresponding cloudflare worker compute cost is too much, then yeah, that's a tough one... I don't have a packaged answer for you, but I would investigate something like ThumbHash: https://evanw.github.io/thumbhash/ - my intuition is that you can probably serve some highly optimized/interlaced/"hashed" placeholder. The advantage of thumbhash here could be that you can optimize the access pattern to be less spendy by simply storing all of your hashes in an optimized way, since they will be extremely small, like small enough to be included in an index for index-only scans ("covering indexes").

  • We have backed up the world’s largest comics shadow library
    1 project | /r/DataHoarder | 14 May 2023
    note: I haven't had time but I would live to investigate into keeping tiny thumbnails hashes in my db as mentioned in https://evanw.github.io/thumbhash/
  • How can you use this package (ThumbHash) that makes small representation of your image?
    2 projects | /r/learnprogramming | 17 Apr 2023
    Check the script here: https://github.com/evanw/thumbhash/blob/main/examples/browser/index.html
  • Generate thumbhash at edge for tiny progressive images
    6 projects | dev.to | 13 Apr 2023
    While it's similar to BlurHash, the color performance is much better for the same filesize. Here's a a demonstration of this from the demo page (with ThumbHash in the middle and BlurHash on the right):
  • Google's decision to deprecate JPEG-XL emphasizes the need for browser choice and free formats
    2 projects | /r/StallmanWasRight | 12 Apr 2023
    Webp took a long time to get some broader adoption but it fulfills the roll of jpeg: a decent enough quality looking picture but at a reduced file size. However, it is based on the VP8 video codec. So in other words, you can think of it as a still frame of a VP8 video. This has some disadvantages because it can only load the image line by line from top to bottom (as opposed to a kind of blurry but progressively improving picture like a slow loading jpeg). So this leads to tricks like storing a very small thumbnails version and loading the actual original image. But tricks are tricks, and they're a bit annoying to deal with. For a very advanced version of this "store a small version and load that first" check this out https://evanw.github.io/thumbhash/ (it creates a blur that has the the appearance of the photo that's loading but it can do it within bytes of data).
  • thumbhash: A very compact representation of an image placeholder
    1 project | /r/coolgithubprojects | 22 Mar 2023
  • Thumbhash: A compact representation of an image placeholder
    1 project | news.ycombinator.com | 22 Mar 2023

What are some alternatives?

When comparing blurhash and thumbhash you can also consider the following projects:

flutter_gen - The Flutter code generator for your assets, fonts, colors, … — Get rid of all String-based APIs.

azurefs - Mount Microsoft Azure Blob Storage as local filesystem in Linux (inactive)

engine - The Flutter engine

mindcastle.io - Massively scalable, cloud-backed distributed block device for Linux and VMs

randimage - Create random images

pica - Resize image in browser with high quality and high speed

clipview - Titanium Module for Android ClipView

mountpoint-s3 - A simple, high-throughput file client for mounting an Amazon S3 bucket as a local file system.

Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond

azure-storage-fuse-aur - AUR package for Azure Storage Blobfuse

titaniium.android.bottomsheet

lazysizes - High performance and SEO friendly lazy loader for images (responsive and normal), iframes and more, that detects any visibility changes triggered through user interaction, CSS or JavaScript without configuration.