A microarray experiment involves several steps, including spotting complementary DNA, extracting RNA, labeling the probe, hybridizing, scanning and analyzing images. Each step introduces variability, confounding our ability to obtain accurate estimates of the biological differences between samples. We ran repeated experiments using high-density cDNA microarray membranes (Research Genetics GeneFilters GF200) and a 33P-labeled probe. Total RNA was extracted from a high-grade B-cell Burkitt lymphoma cell line (GA-10). We estimated the components of variation attributable to (1) image analysis (2) exposure time to phosphorimager screens (3) differences in membranes (4) reuse of membranes and (5) differences in probes prepared from multiple RNA extractions. We assessed variation qualitatively using a clustering algorithm and quantitatively using a version of ANOVA adapted to multivariate microarray data. The largest contribution to variation (44% of the total variation) came from reusing membranes. Differences in membranes, exposure time, and probe preparation each contributed about 15%. Image analysis contributed only 0.3%. Microarray results are generally reproducible, but each step in the process contributes some variability. The largest effects are intrinsic to the biological material (the cDNA spotted on the membrane and the RNA extracted from the sample). Much of the effect of reusing membranes is attributable to increasing levels of background radiation, and this effect can be reduced by using a given array no more than four times. The effects of exposure time (which are partly attributable to variation in the scanning process) can be minimized by using the same exposure time for all experiments.