Why do we need dithering?
29 comments
·November 4, 2025susam
malfist
This also used to be a really common test image: https://en.wikipedia.org/wiki/Lenna
But its apparently a cropped centerfold from Playboy
tux3
The original Lenna is controversial, but I'm delighted to share the "ethically sourced Lenna": https://mortenhannemose.github.io/lena/
raajg
This was recently shared on HN: https://visualrambling.space/dithering-part-1/
For anyone interested in seeing how dithering can be pushed to the limits, play 'Return of the Obra Dinn'. Dithering will always remind you of this game after that.
- https://visualrambling.space/dithering-part-1
- https://store.steampowered.com/app/653530/Return_of_the_Obra...
hcs
You still see dithering from time to time as a cheap transparency, it's been a few years since Mario Odyssey but that's when last I recall it really stood out: https://xcancel.com/chriswade__/status/924071608976924673
mrandish
A related bit of tech trivia is that digital audio also often involves dithering, and not just decimated or compressed audio. Even very high-quality studio mastered audio benefits from an audio specific kind of dithering called noise shaping. Depending on the content, studio mixing engineers may choose different noise shaping algorithms.
andai
Also by the author: https://www.makingsoftware.com/
Recent discussions:
Making Software - https://news.ycombinator.com/item?id=43678144
How does a screen work? - https://news.ycombinator.com/item?id=44550572
What is a color space? - https://news.ycombinator.com/item?id=45013154
Dylan16807
> Before we all mute the word 'dithering'
Is this a reply to something?
tinkelenberg
This is the best explanation I’ve come across. I enjoy dithering as a playful way to compress file size when it makes sense.
dcrazy
Slightly frustrating the author started out with color images and then switched to grayscale.
01HNNWZ0MV43FF
Playdead Games did a really nice presentation about dithering for games, it gets passed around and I'm sure it's been on HN already: https://loopit.dk/banding_in_games.pdf
abstractspoon
They answered the question in the first two sentences: We don't need it, it's just an aesthetic nowadays.
matja
Dithering isn't only applied to 2D graphics, it can be applied in any type of spatial or temporal data to reduce the noise floor, or tune aliasing distortion noise to other parts of the frequency spectrum. Also common in audio.
jchw
Dithering can be for aesthetic reasons, I presume especially old-school dithering that is especially pronounced. However, dithering is actually still useful in all sorts of signal processing, particularly when there are perceptible artifacts of quantization. This occurs all the time: you can trivially observe it by making gradients that go between close looking colors, something you can see on the web right now. There are many techniques to avoid banding like this, but dithering lets you hide banding without needing increased bit depth or choosing strategic stop colors by trading off spatial resolution for (perceived) color resolution, which works excellently for gradients because it's all low frequency.
And frankly, it turns out 256 colors is quite a lot of colors especially for a small image, so with a very good quantization algorithm and a very good dithering algorithm, you can seriously crunch a lot of things down to PNG8 with no obvious loss in quality. I have done this at many of my employers, armed with other tricks, to dramatically reduce page load sizes.
debugnik
It's not just aesthetic, I keep seeing games with color banding because they don't bother to dither before quantizing.
amelius
From the article:
> We don't really need dithering anymore because we have high bit-depth colors so its largely just a retro aesthetic now.
By the way, dithering in video creates additional problems because you want some kind of stability between successive frames.
TinkersW
The article is simple wrong, dithering is still widely used, and no we do not have enough color depth to avoid it. Go render a blue sky gradient without dithering, you will see obvious bands.
Sesse__
You can do with a static dither pattern (I've done it, and it works well). It's a bit of a trade-off between banding and noise, but at least static stuff stays static and thus easily compressable.
dTal
Yeah, the article is wrong about that.
This is going to be an odd comment, but I immediately recognised the parrot in the test images. It's the scarlet macaw from 2004 which is often used in many Wikipedia articles about colour graphics.
I think this is the original, photographed and contributed by Adrian Pingstone: https://commons.wikimedia.org/wiki/File:Parrot.red.macaw.1.a...
But this particular derivative is the one that appears most often in the Wikipedia articles: https://commons.wikimedia.org/wiki/File:RGB_24bits_palette_s...
This parrot has occurred in several articles on the web. For example, here's one article from a decade or so ago: https://retroshowcase.gr/index.php?p=palette
Parrots are often used in articles and research papers about computer graphics and I think I know almost all the parrots that have ever appeared in computing literature. This particular one must be the oldest computing literature parrot I know!
By the way, I've always been fascinated by dithering ever since I first noticed it in newspapers as a child. Here was a clever human invention that could produce rich images with so little, something I could see every day and instinctively understand how it creates the optical illusion of smooth gradients, long before I knew what it was called.