Quantitative measurement of perchlorate in biological fluids is of importance to assess its toxicity and to study its effects on the thyroid gland. Whenever possible, urine samples are preferred in toxicologic/epidemiologic studies because sample collection is non-invasive. We present here a pretreatment method for the determination of perchlorate in urine samples that lead to a clean matrix. Urine samples, spiked with isotopically labeled perchlorate, are exposed to UV to destroy/decompose organic molecules and then sequentially treated with an H+-form cation exchange resin to remove protolyzable compounds, with ammonia to raise the pH to 10–11 and finally passed through a mini-column of basic alumina to remove the color and other organic matter. After filtration through a 0.45 μm syringe filter, the sample thus prepared can be directly injected into an ion chromatograph (IC). We use ion association–electrospray ionization–mass spectrometry (ESI-MS) to detect and quantify perchlorate. The proposed sample preparation method leads to excellent limits of detection (LOD's) for perchlorate since there is essentially no dilution of sample and the matrix effects are eliminated. Results of urine samples from both men and women volunteers are reported for perchlorate, as well as for iodide and thiocyanate, which are generally present at much higher concentrations and for which a “dilute and shoot” approach is adequate. The limit of detection (S/N = 3) for iodide, thiocyanate and perchlorate by the present method was 0.40, 0.10 and 0.080 μg l−1, respectively.