Grayscale Test
Display discrete grayscale, near-black, and near-white levels to record which adjacent steps remain distinguishable, along with neutral color cast and regional unevenness.
Grayscale settings
Grayscale output and observation record
If scripts are not running, use the page explanations to understand the test method.
Click the pattern or use the button on the left to enter full screenRecord the lowest and highest level numbers that remain distinguishable in the current pattern.
The lowest level cannot be higher than the highest level and must stay within the current level range.
- Test range
- Full range
- Total levels
- 16
- Visible levels
- 16/16
- Color-cast record
- Not recorded
- Uniformity record
- Not recorded
- Readiness
- 0/4
- Canvas renderer
- —
How to inspect grayscale steps
| Range | What to inspect | What to record |
|---|---|---|
| Full range | Overall steps from black to white, color cast, and large-area uniformity. | Whether adjacent steps remain continuous and whether local color cast appears. |
| Shadows | Whether tones near black are crushed or black level is lifted. | The first distinguishable level and whether shadows merge over a large area. |
| Highlights | Whether tones near white are clipped or merge into one block. | The highest distinguishable level and any cast in the highlight area. |
Use and interpretation
Test steps and shortcuts
Set native resolution and 100% browser zoom, turn off dynamic color temperature and picture enhancements, then inspect full range, shadows, and highlights. In full screen, use left/right to change range, up/down to change levels, O to change orientation, and L to show or hide labels.
How grayscale levels are generated
The full range samples evenly from 0 to 255; shadows sample 0 to 63; highlights sample 192 to 255. Level i is round(start + i × (end − start) / (N − 1)), using the same integer for red, green, and blue.
Scope and possible false observations
This tool is a visual screen only. Browser color management, system gamma, scaling, GPU output, interface format, local dimming, ambient light, and viewing angle affect the result. It cannot by itself determine 8-bit versus 10-bit output or perform professional calibration.
Privacy, implementation, and sources
All patterns and observation records are generated locally in this browser. No input is uploaded, no third-party runtime API is called, and nothing is written to local storage.
The method uses standard 8-bit RGB code ranges and local browser Canvas rendering; no third-party runtime library is used.
Frequently asked questions
How many grayscale levels should be visible before it is considered a problem?
There is no single level threshold for every device. Keep brightness, gamma, ambient light, and picture mode consistent, then look for large areas where adjacent steps merge and compare the same display in another mode or with a known-good display.
How should I inspect shadow and highlight grayscale levels?
In shadows, look for tones near black being crushed into one block. In highlights, look for tones near white merging together. Use the same brightness, color temperature, and picture mode at both ends.
Why can neutral gray look red, green, or blue?
White point, RGB gain, ICC configuration, night mode, viewing angle, and panel uniformity can all create a color cast. Turn off dynamic color temperature and eye-comfort modes, then check several tones and screen areas.
Can a grayscale test tell whether a display is 8-bit or 10-bit?
Not by itself. Browser rendering, system composition, GPU output, interface format, dithering, and panel processing all affect the final image. A web page can only help reveal visible step merging or color cast.