Window and Level: What Radiologists Do With the Mouse

What window width and window level actually control, why no single window can show everything, and which presets to reach for on a head CT and when.

Last reviewed 2026-03

I'm sure you've sat next to a radiologist and watched them jerk the mouse around with small movements that alter the image on the screen. You might be wondering what they're doing and why. Those movements are windowing, the controls that decide which part of the density scale your screen actually shows.

These controls are especially difficult when you first start looking at CTs yourself, and it’s understandably easiest to default to the presets and hope. So let’s break down what window width and window level actually mean, and then come back to the presets and decode them.

The Problem Windowing Solves#

A CT scanner measures how much each small block of tissue attenuates the X-ray beam. When we call something dense on CT, that’s the claim we’re making: this material knocks down the beam more effectively than its neighbors. The Hounsfield scale standardizes the measurement, anchored to water at 0 and air at -1000, and it runs past +2000 for cortical bone and higher for metal. Call it four thousand meaningfully different values inside a single head CT.

Since there’s such a big range of densities to represent, we have a problem. Your monitor can only display a few hundred shades of gray, and your eye can only reliably distinguish a few dozen. So how do we represent all of these values? The answer is that we can’t, at least not all at once. Something has to decide which densities get a gray of their own and which get lumped together, and that something is the window.

Before defining it, it helps to know where the interesting tissues actually sit on the scale:

Air
-1000 HU. Paranasal sinuses, mastoids, and any air that should not be there.
Fat
Around -100 HU. Orbital fat, scalp fat.
Water
0 HU by definition. CSF sits just above it.
Brain
White matter around 25 HU, gray matter around 35 to 40. A ten-unit stretch carries the entire gray-white interface.
Acute blood
50 to 100 HU. Clot is retracted, protein-packed plasma, so it out-attenuates the brain around it.
Bone
Several hundred to a few thousand HU depending on how cortical it is.

Read the brain entry again. The gray-white interface you assess on every head CT lives inside a ten-unit stretch of a four-thousand-unit scale, and most of the display problem in neuroimaging comes down to giving that stretch enough grays to read.

Two Controls, One Window#

Windowing is basically zoom, but for density instead of position. Window level is where you point: the HU value at the center of your display, rendered as middle gray. Window width is how far you zoom: the range of HU values spread across the full ramp from black to white. Anything below the bottom edge of the window renders pure black, anything above the top edge renders pure white, and no detail survives outside the window no matter how large the density difference.

A narrow window spends all of your grays on a small stretch of the scale, so tiny density differences become visible contrast. A wide window spreads the same grays across a huge stretch, so nothing clips to black or white, but neighboring tissues start to converge on the same shade.

Watch the Trade-Off Happen#

Put up a head CT in the standard brain window, W80 L40. The window runs from 0 to 80 HU: CSF near black, white matter dark gray, gray matter lighter, acute blood approaching white. The ten-unit gray-white difference gets a real, visible share of the ramp. Meanwhile the calvarium, at many hundreds of units, is off the top of the window and renders as a featureless white band.

Now watch what happens as the width opens up toward bone settings. The skull develops texture: cortex, diploë, sutures, fracture lines. And at the same time the brain converges on a single flat gray, because its whole ten-unit interface now occupies a fraction of one displayed shade. Nothing about the data changed, you’ve just spent the grays somewhere else.

One window, one miss

A window optimized for one question is blind to the others. The classic casualty is the thin subdural hematoma: at brain settings, acute clot renders near-white directly against the near-white inner table, and the two merge. The hemorrhage is there in the data, it just never makes it to the display. Never call a head CT done from a single window.

If you like seeing the arithmetic, the whole mechanism fits in a few lines:

def gray(hu: int, ww: int, wl: int) -> int:
    """Map a Hounsfield value to a display gray, 0-255."""
    lo = wl - ww / 2
    return round(255 * min(1.0, max(0.0, (hu - lo) / ww)))

# Acute subdural blood (65 HU) next to cortex (38 HU):
gray(65, 80, 40)     # brain window -> 207
gray(38, 80, 40)     # brain window -> 121   (86 grays apart: obvious)
gray(65, 2800, 600)  # bone window  -> 79
gray(38, 2800, 600)  # bone window  -> 76    (3 grays apart: invisible)

The same two voxels, 27 HU apart, are separated by 86 gray levels in one window and 3 in the other.

SYNAXIALSOFT TISSUEImage 24/48
Synthetic test stack
A synthetic test stack, not real anatomy, for trying the viewer. Tap the image to activate, drag to scrub the series, and switch windows to compare the display.

The Presets, Decoded#

Each preset is just a named position in the same trade-off: more contrast for one question, less for everything else.

PresetWidth / LevelWhat it buysWhat it gives up
Brain80 / 40Gray-white interface, blood vs. brainAll bone detail, scalp
Subdural200 / 80Clot vs. the inner table it hugsSome gray-white contrast
Stroke8 / 32Aggressive gray-white separation for early edemaEverything else, and noise amplifies with the signal
Bone2800 / 600Cortex, diploë, fracture linesAll soft tissue contrast
Soft tissue400 / 50Scalp, orbits, neckFine intracranial contrast

The subdural preset W200 L80 is worth understanding rather than memorizing. It raises the level toward clot density and opens the width just enough that bone and blood stop sharing pure white, which is exactly the failure that hides the thin subdural at brain settings.

Every viewer puts these on hotkeys, usually the number row, and pairs them with a free drag: hold W (or the middle button, viewers disagree) and drag one axis for width, the other for level. It’s worth learning the presets until you can hit them without looking, and the free drag is even more useful, because it lets you interrogate a specific pixel instead of hoping a preset covers it.

Reading a Head CT With This#

The practical sequence: brain window for the parenchyma, subdural window along the convexities and falx, bone window for the fractures, soft tissue for the scalp. The scalp hematoma tells you where the coup is, and the contrecoup you should look hardest for sits opposite it.

And when a finding is equivocal at every preset, stop flipping windows and measure it. An ROI reads the data directly, with no gray ramp in the way.