Fluorescence Compensation Calculator

Calculate compensation matrices, validate your control setup, and visualize compensation quality — no FCS files required.

Example panel pre-loaded — edit rows or add your own fluorochromes

About fluorescence compensation

Fluorescence compensation corrects for spectral overlap between fluorochromes. Every fluorochrome emits light across a broader range than its primary detector captures — the fraction that leaks into adjacent channels is called spillover. Compensation mathematically subtracts this leakage from each channel using the inverse of the spillover matrix.

After correct compensation, a population positive for Channel A will have a median near zero in Channel B. This means negative values are expected and normal — they reflect proper mathematical correction, not instrument error. This is why biexponential (not log) scaling is required for viewing compensated data.

Pre-flight checklist: 4 most common control setup mistakes

  1. 1.Tandem dyes on comp beads. PE-Cy7, APC-Cy7, PE-Cy5, PE-CF594, and other tandem fluorochromes are unstable on bead surfaces — the FRET bond is disrupted, changing the emission spectrum. Always use stained single-color cells as controls for tandem dyes.
  2. 2.Viability dyes on comp beads. PI, 7-AAD, DAPI, Live/Dead, and Zombie Aqua require a plasma membrane to intercalate — beads have none. These dyes will not stain correctly on beads and will produce completely wrong spillover values. Cell-based controls are required.
  3. 3.Fixed samples with unfixed controls. Fixation alters fluorochrome emission spectra. If your experimental samples are fixed, all single-color controls must be fixed with the same reagent, concentration, and incubation time. Mismatched fixation produces systematic compensation errors that cannot be corrected post-acquisition.
  4. 4.Mixed control types in the same panel. Comp beads have near-zero autofluorescence; cells have significant autofluorescence in most channels. Mixing bead and cell controls in the same panel produces systematic over-compensation in channels where beads are used, because the bead negative is lower than the cell negative. Use a single control type consistently.

When multiple fluorochromes are used together, each one emits photons across a broader spectral range than its primary detector is designed to capture. The fraction of fluorochrome A's signal detected in fluorochrome B's channel is called spillover. The fraction is expressed as a coefficient (0–100%) and organized into a square matrix called the spillover matrix (S), where S[i][j] is the fraction of fluorochrome j's signal detected in channel i.

The compensation matrix (C) is the mathematical inverse of the spillover matrix: C = S⁻¹. When applied to raw fluorescence data, it subtracts the appropriate fraction of each fluorochrome's signal from every other channel, leaving only the true signal for each detector.

Because compensation involves matrix inversion, it amplifies measurement noise — this is called spreading error. High spillover coefficients (>40%) amplify noise substantially and limit the resolution of the affected channels. This is a fundamental panel design constraint, not a software limitation.

Single-color controls establish the spillover coefficient for each fluorochrome. The control must produce the brightest signal expected in that channel — and the negative population must match the autofluorescence of your experimental sample.

Fluorochrome typeRecommended controlWhy
Standard fluorochromes (FITC, PE, APC, BV421, etc.)Comp beadsStable binding, bright signal, consistent lot-to-lot
Tandem dyes (PE-Cy7, APC-Cy7, PE-Cy5, PE-CF594, APC-R700)Stained cellsFRET bond disrupted on bead surface — spectrum changes
Viability dyes (PI, 7-AAD, DAPI, Live/Dead, Zombie Aqua)Stained cellsRequires plasma membrane — beads cannot be stained
BV/BUV polymer dyesComp beads (with Horizon Buffer)Stable on beads; BD Horizon Buffer prevents aggregation
Fixed samplesSame-fixation cellsFixation alters emission spectra — controls must match

The butterfly plot is the classic diagnostic display for compensation quality. It shows two populations: unstained (or fluorochrome B negative) cells, and single-color fluorochrome A positive cells. The X axis is Channel A (e.g., FITC-A); the Y axis is Channel B (e.g., PE-A).

Correctly compensated: The FITC+ population has a median PE-A value near zero, with symmetric spread above and below the zero line. The shape of the positive population mirrors the negative — hence “butterfly.” Negative PE values are expected and indicate proper correction.

Under-compensated: The FITC+ population trails diagonally into the upper-right quadrant — the characteristic “diagonal tail.” Spillover has not been fully subtracted.

Over-compensated: The FITC+ population is pulled below the negative population — the positive cells dip below the unstained cells in the PE channel. This is a hallmark of over-compensation and produces false negatives in downstream gating.