Why Your Densitometry Numbers Don't Match What the Blot Looks Like
Your blot shows a band that's clearly darker in the treated lane, but when you quantify it, the fold change comes back at 1.4×. Or the opposite: two bands look nearly identical, yet the densitometry insists one is twice the other. This disconnect between what your eyes see and what the numbers say is one of the most common frustrations in western blot quantification — and it almost always has a concrete explanation.
The short answer: your visual system is terrible at estimating intensity differences. Human perception of brightness is roughly logarithmic (Weber-Fechner law), meaning you compress large intensity differences and exaggerate small ones. Your imaging software, meanwhile, works in linear pixel values. A band that looks "twice as bright" might be 4× more intense in raw signal. On top of that, image display settings — brightness, contrast, gamma — reshape what you see on screen without touching the underlying data. So the numbers aren't wrong. Your eyes are.
Display Settings Are Lying to You
Every image viewer applies some form of contrast stretching to make blots look presentable. When you open a 16-bit image (65,536 possible gray levels) on a monitor that displays 256 levels, the software has to map that range down. How it does that mapping changes everything about your visual impression.
Most imaging software — Image Lab, Image Studio, ImageJ — lets you adjust brightness and contrast, or set a display range (min/max). If you pull the upper bound down to make faint bands visible, you'll simultaneously crush the differences between strong bands. Two lanes at 40,000 and 55,000 counts might both appear white once the display saturates above 35,000. Conversely, stretching the low end exaggerates differences between faint bands.
The fix is simple: always check the actual pixel values, not the visual appearance. In ImageJ/Fiji, hover over a band and read the value in the status bar. In Image Lab or Image Studio, use the quantification tools rather than your eyes. And never adjust brightness/contrast before quantification — adjustments should only be made on a display copy, after the numbers are already extracted.
Gamma correction is an even sneakier culprit. A gamma of 0.5 (common in some export settings) will visually boost dim regions and compress bright ones, making a blot look more uniform than it actually is. If your exported TIFF has been gamma-corrected and you quantify that file, your numbers will be wrong. Always quantify the raw, unadjusted acquisition file.
Saturation Flattens Everything
Saturation is the single most common reason densitometry numbers seem "off." When a band hits the detector's ceiling — 255 in an 8-bit image, 65,535 in 16-bit — additional protein produces no additional signal. A lane with 50 µg of protein and a lane with 100 µg will give the same pixel intensity once both are saturated. Your fold change collapses toward 1.0.
This is especially insidious with housekeeping proteins used as loading controls. GAPDH and β-actin are abundant enough that at typical loading amounts (15–30 µg total protein per lane), they'll saturate well before your target protein does. If the loading control is saturated, small lane-to-lane loading differences get erased in the denominator, and your normalized ratios become unreliable. Aldridge et al. (2008) showed that housekeeping gene signals frequently plateau above ~4 µg/lane — far below what most labs load.
How to check: Look at the raw histogram of your band ROIs. If any pixels are piling up at the maximum value, that band is saturated and cannot be quantified. In Image Lab (ChemiDoc), the saturation indicator highlights these pixels in red. On LI-COR systems, Image Studio flags overexposed pixels automatically. In ImageJ, use Analyze > Histogram on a selected ROI and check for a spike at the rightmost bin.
Film-based detection is even worse. Autoradiography film has a useful linear dynamic range of roughly 4–8× (Gassmann et al., 2009), meaning if your weakest band is at the limit of detection, your strongest band can only be ~4–8× more intense before the film response curve flattens. Digital imagers offer 3–4 orders of magnitude of linear range — but only if you avoid clipping.
Band Shape and Area Matter More Than Peak Darkness
Here's one that trips up even experienced people. Your eye focuses on the darkest point in a band — the peak intensity. But densitometry measures integrated density: the sum of all pixel values within the ROI, minus background. Two bands can have the same peak intensity but very different integrated densities if one is wider, taller, or more diffuse.
This happens routinely with:
- Partially degraded samples, where the band smears vertically
- Overloaded lanes, where bands widen laterally
- Proteins near the dye front or stacking gel, where migration distorts band shape
- Uneven transfer, where one side of a band transfers more efficiently
If you draw tight, identical-sized ROIs around every lane, you'll clip the edges of wider bands and undercount their signal. If you draw ROIs that fit each band individually, you introduce subjectivity. The best practice is to use lane-width ROIs that extend above and below all bands consistently, and let local background subtraction handle the empty space.
Background subtraction method matters too. Rolling-ball (ImageJ default, radius matters), lane-edge baseline (Image Lab), or local median — each gives slightly different results on the same image. The method you choose should be consistent across all blots in an experiment, and you should report which one you used.
Tired of fighting with ROI placement and background subtraction? VoilaBlot auto-detects lanes and bands, applies consistent background correction, and flags saturated pixels — all in your browser, with your image never leaving your machine.
Try it on your blot →The Normalization Step Can Invert What You Expect
Sometimes the raw band intensities do match your visual impression, but the normalized ratios don't. This usually means the loading control is doing something you didn't expect.
Say your target protein band looks 2× darker in the treated lane. Looks like upregulation. But if you also loaded 1.8× more protein in that lane (due to pipetting error, cell count differences, or sample concentration issues), the loading control will be 1.8× higher too. After normalization: 2.0 / 1.8 = 1.1×. The "induction" was mostly just loading variation. The numbers are correct; the visual was misleading because your eye doesn't simultaneously ratio-adjust the target band by the loading control band.
The reverse also happens. If your loading control is partially saturated in one lane (clipping at the detector ceiling), it under-reports the true loading amount. Now the denominator is artificially low, and your normalized target signal gets inflated. You see a modest visual change but the numbers say 3-fold.
This is why total protein normalization (TPN) methods — Ponceau S, stain-free (Bio-Rad), REVERT (LI-COR), or Coomassie — are gaining favor over single-protein loading controls. They average the loading signal across dozens of bands, reducing sensitivity to any one protein's expression changes. The CV of total protein normalization is typically 5–10%, compared to ~21% for a single housekeeping protein (Bhatt et al., 2021; Taylor & Posch, 2014). That translates directly into smaller error bars and more statistical power.
When the Numbers Are Actually Wrong
I've been defending the numbers so far, but sometimes they genuinely are wrong. Common causes:
Quantifying a JPEG. JPEG compression is lossy and non-uniform — it distorts pixel values differently across the image. Always quantify from the original TIFF or proprietary raw file. If someone sends you a JPEG to quantify, send it back and ask for the raw.
Inverting without correcting. If you image on a white background (like a stained membrane photographed on a light box), bands are dark on light. Densitometry software expects signal-high (bright bands, dark background). If you invert the image, make sure the software understands the orientation, or your background subtraction will be inverted too.
Inconsistent ROI sizes across blots. If you're comparing Band X across three separate blots with different exposure times or transfer conditions, the absolute integrated densities are meaningless. You must normalize within each blot (to loading control and/or a reference sample), then compare fold changes across blots. Never compare raw integrated density from blot A to blot B.
Auto-exposure artifacts. If your imager uses auto-exposure and picks different exposure times for different blots, the absolute intensities will differ even for identical protein amounts. Record your exposure settings. Better yet, use a fixed exposure for all blots in an experiment, chosen based on a test exposure of your strongest sample.
What to Do About It
Train your eyes to distrust themselves — or at least to confirm impressions with data. Before you conclude that the numbers are wrong:
- Check for saturation in the raw image
- Verify you're quantifying the raw file, not a display-adjusted export
- Confirm your ROIs are consistent and appropriately sized
- Look at your loading control values — are they constant across lanes, or is there real loading variation?
- Make sure background subtraction isn't removing real signal or adding artifactual signal
If the numbers still seem off after all of that, run a dilution series of one sample (1×, 0.5×, 0.25×) on the same blot. If the densitometry returns values that scale linearly with loading, your quantification pipeline is working. The problem is upstream — probably biological variability, or the visual difference was never as large as you thought.
In my experience, about 80% of "the numbers don't match" complaints resolve once you account for display settings and saturation. Another 15% are loading-control normalization effects. The remaining 5% are genuine pipeline errors — wrong file format, inconsistent ROIs, or software bugs. Start with the common explanations before assuming the software is broken.
References
- Aldridge GM, Podrebarac DM, Greenough WT, Bhatt DH. The use of total protein stains as loading controls: an alternative to high-abundance single-protein controls in semi-quantitative immunoblotting. J Neurosci Methods. 2008;172(2):250–254.
- Bhatt DH, et al. Bhatt, Zhang, Bhatt. A review of common western blot normalization methods. J Immunol Methods. 2021;496:113100.
- Gassmann M, Grenacher B, Rohde B, Vogel J. Quantifying western blots: pitfalls of densitometry. Electrophoresis. 2009;30(11):1845–1855.
- Taylor SC, Posch A. The design of a quantitative western blot experiment. BioMed Research International. 2014;2014:361590.