Skip to content

8-bit vs 10-bit color: what it means and why skies band

Comparing 8-bit vs 10-bit color depth. Learn how 256 vs 1,024 quantization levels eliminate color banding in skies and dark movie scenes.

In short

  • 8-bit color provides 256 levels per channel (16.7 million colors), while 10-bit offers 1,024 levels (1.07 billion colors).
  • Banding appears when the steps between neighboring shades are big enough for the eye to see, which happens first in skies and shadows.
  • HDR needs 10 bits: 256 steps stretched over a range up to 1,000 nits and beyond would band badly.
  • 8-bit + FRC uses temporal dithering to simulate 10-bit color on affordable monitor panels.
On this page
  1. What is the difference between 8-bit and 10-bit color?
  2. Why do smooth skies and dark scenes band into stripes?
  3. Why does HDR video require at least 10 bits?
  4. What is 8-bit + FRC and is it real 10-bit?
  5. Why are HEVC Main 10 and AV1 10-bit better even for standard video?
  6. How does your Mac process 10-bit color during playback?
  7. What to do next

The difference between 8-bit and 10-bit color is precision: 8-bit color offers 256 brightness levels per color channel for 16.7 million total colors, while 10-bit color offers 1,024 levels per channel for 1.07 billion total colors. With four times as many steps per channel, 10-bit color eliminates the harsh, stepped lines known as color banding in skies, fog, and shadows.

8 bits are enough for ordinary (SDR) video most of the time. High Dynamic Range (HDR) video is another matter: stretching 256 steps across a range that reaches 1,000 nits and more leaves gaps the eye sees as stripes.

Try it

Why skies band: the same gradient at 6, 8 and 10 bits

256 levels per color channel · 16.7 million colors

Magnified: each strip is a narrow slice of brightness stretched wide, so the steps a codec stores become visible. Every two extra bits give four times as many steps; at 10 bits the steps are smaller than the eye can see.

What is the difference between 8-bit and 10-bit color?

Digital images and video represent color using three primary color channels: Red, Green, and Blue (RGB). Bit depth, also called color depth, determines the mathematical precision used to record the brightness of each channel.

An 8-bit channel has 2 to the power of 8, or 256, possible values (0 to 255). Three channels give 256 × 256 × 256 = 16,777,216 colors: the palette of computers, the web and ordinary video since the 1990s.

A 10-bit channel has 1,024 values (0 to 1,023). Three channels give 1,024 × 1,024 × 1,024 = 1,073,741,824 colors. That is four times as many steps per channel, and 64 times as many colors in all.

How the bit depths compare (the HDR standard, ITU-R BT.2100, allows 10 and 12 bits):

Specification 8-Bit Color 10-Bit Color 12-Bit Color
Levels per Channel 256 values 1,024 values 4,096 values
Total Color Palette 16.78 million colors 1.07 billion colors 68.72 billion colors
Steps per channel vs 8-bit 1× 4× 16×
In HDR Visible banding Smooth in practice Smooth everywhere
Primary Use Cases SDR video, web images, legacy H.264 HDR10, Dolby Vision, HEVC Main 10, AV1 Cinema mastering (Dolby Vision FEL)

Why do smooth skies and dark scenes band into stripes?

Color banding, technically termed false contouring or posterization, happens when a continuous analog gradient is forced into a digital grid with too few discrete steps. Instead of a smooth transition, you see distinct concentric rings or vertical stripes.

The eye notices relative differences: two neighboring shades that differ by around one percent in brightness can already be told apart on a smooth surface (the research behind this is Peter Barten’s model of contrast sensitivity). When the step from one stored value to the next is bigger than that, the boundary shows as an edge.

Skies and dark scenes are uniquely vulnerable to banding for two distinct reasons:

  1. Subtle chromatic gradients in skies: A clear blue sky or a twilight sunset contains very little surface texture or high-frequency detail to mask digital steps. In an 8-bit file, a gradient stretching from light cyan to deep blue across an entire 4K monitor might only span 20 or 30 numerical values in the green and blue channels. With 3,840 horizontal pixels and only 30 discrete steps, each numerical shade must stretch across more than 100 pixels before changing, creating obvious stepped bands.
  2. Shadows: our eyes are very sensitive to small differences in dark tones, and in an 8-bit file the darkest tenth of the range holds only about 25 values. A dark thriller or horror film with shadows moving across a wall often lacks enough values to render subtle gradations, turning shadows into blocky, swimming patches of dark grey.

Bit depth is how finely shades are divided; which colors exist at all is the color gamut, explained in Rec. 709 vs DCI-P3 vs Rec. 2020.

Why does HDR video require at least 10 bits?

In Standard Dynamic Range (SDR), video is mastered to a peak brightness of 100 nits, as defined by ITU-R BT.1886. Spreading 256 quantization steps across a 100-nit range results in small luminance steps that usually remain near or below the human visual threshold, especially in well-lit living rooms.

High Dynamic Range changes everything. HDR formats use the Perceptual Quantizer (PQ) curve of SMPTE ST 2084, which covers brightness from 0.0001 nits up to 10,000 nits.

If you attempted to encode a 1,000-nit or 4,000-nit HDR movie using 8-bit precision, each digital code step would have to span a massive jump in physical light output. Steps of 5 to 10 percent in brightness are far beyond what the eye overlooks: the picture would band in highlights and midtones alike.

With 10 bits, PQ spreads 1,024 values along a curve shaped like our perception, so each step sits close to the edge of visibility; together with the natural grain of film, gradients look smooth. (PQ was designed so that 12 bits stay below that edge everywhere.) That is why HDR10, HDR10+ and the Dolby Vision streaming profiles all use at least 10 bits. More on the formats in What is HDR?.

What is 8-bit + FRC and is it real 10-bit?

When shopping for external monitors or televisions, you will frequently see specifications that list “1.07 billion colors (8-bit + FRC)” instead of “native 10-bit”.

Frame Rate Control (FRC) is a form of temporal dithering. A native 8-bit panel driver can only output 256 voltage levels per subpixel. To simulate an intermediate 10-bit value—such as level 128.5—the display controller rapidly toggles the subpixel between level 128 and level 129 at 60 Hz or 120 Hz. Because the switching happens faster than the eye’s flicker fusion threshold, your brain blends the alternating frames into a single perceived intermediate shade.

Spatial dithering works similarly by scattering alternating pixels adjacent to one another in a fine microscopic pattern.

Is 8-bit + FRC real 10-bit?

  • For video playback: High-quality 8-bit + FRC panels produce visual results that are virtually indistinguishable from native 10-bit panels when watching movies or streaming television. The movement of the film naturally masks temporal dithering.
  • For professional color grading and still photography: Native 10-bit panels are preferred. Under close inspection or when viewing fine micro-patterns, temporal FRC can introduce faint shimmering or pixel noise, particularly in solid dark tones.

Native 10-bit panels cost more to make, which is why FRC is so common.

Why are HEVC Main 10 and AV1 10-bit better even for standard video?

A surprise for many: encoding even ordinary SDR video in 10-bit often gives cleaner pictures at the same file size than 8-bit.

This phenomenon occurs inside modern compression algorithms like HEVC (H.265) and AV1:

  1. Internal calculation precision: When a video encoder breaks a frame into transform blocks (such as Discrete Cosine Transform or discrete sine transforms), it calculates motion vectors and prediction errors. When operating in an 8-bit profile, intermediate mathematical rounding errors accumulate, creating subtle artifacts that the encoder must waste bits trying to fix.
  2. Truncation noise: In 10-bit encoding, the encoder maintains higher precision throughout the compression pipeline. Rounding errors are minimized, allowing motion-compensation algorithms to find cleaner matches between frames.
  3. Prevention of compression banding: In anime and clean digital animation, 8-bit encodes frequently suffer from blocky compression artifacts around flat line art and color fills. Anime encoders adopted 10-bit early (H.264 Hi10P, then HEVC Main 10) for exactly this reason: fewer bands in flat colors for the same size.

More on how codecs compress in H.264 vs H.265 vs AV1.

How does your Mac process 10-bit color during playback?

Playing a 10-bit video file on macOS requires an unbroken hardware and software pipeline. If any link in the chain rounds data down to 8 bits, banding reappears immediately.

On modern Apple Silicon Macs:

  • Hardware decoding: The media engine on M1, M2, M3, and M4 chips decodes 10-bit HEVC (Main 10) and ProRes in fixed-function silicon without placing load on the CPU. AV1 10-bit is decoded in hardware on M3 and newer chips, while M1 and M2 Macs rely on optimized software decoders like dav1d.
  • Pixel formats: VideoToolbox outputs decoded frames in native 10-bit surface formats (such as kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange, commonly called P010).
  • Compositing: macOS manages color with ColorSync and composites in high precision. Apple lists the MacBook Pro’s Liquid Retina XDR display as showing one billion colors.
  • External displays: over DisplayPort, Thunderbolt or HDMI, macOS sends 10-bit color when the monitor says it accepts it and the cable has the bandwidth.

A player that converts frames to 8-bit RGB before drawing them throws that precision away.

What to do next

Banding in skies and dark scenes usually comes from 8-bit limits or heavy compression. A 10-bit source fixes it at the root by giving gradients enough steps.

On an Apple Silicon Mac, pair 10-bit HEVC or AV1 files with a player that keeps the precision all the way to the screen. MacLC does, on built-in and external displays: download it free, or read the details in its technical specifications.

Questions people ask

Can the human eye tell the difference between 8-bit and 10-bit color?

Yes. While you might not distinguish individual shades in flat scenes, the difference is immediately visible in smooth gradients like sunsets, clear skies, underwater footage, and shadowy corners, where 8-bit produces visible stair-stepped bands.

What is 8-bit + FRC?

Frame Rate Control (FRC) is a temporal dithering method where an 8-bit display panel rapidly alternates a pixel between two adjacent color shades to create the illusion of an intermediate 10-bit shade that the physical hardware cannot produce.

Does watching 10-bit video on an 8-bit screen help?

Yes. 10-bit video encodes gradients with higher internal precision. Even when downsampled to an 8-bit screen, the software can apply spatial dithering to smooth out transitions, reducing compression macroblocking compared to native 8-bit source files.

Does the MacBook Pro have an 8-bit or 10-bit screen?

Apple lists the Liquid Retina XDR display of the 14-inch and 16-inch MacBook Pro as showing one billion colors, which is 10-bit color. Apple does not say how the panel produces them.