A stain that survives a proper wash should be graded as a defect, and it caps the garment at Good or lower in most cases, depending on size, location, and whether the dye or fiber itself has changed. Surface stains that lift fully do not count. Set-in stains and dye transfer do, and you must disclose them in words and photos.
Here is the failure we see most. A seller washes a 1980s cotton tee, the yellow underarm halo fades to a pale ghost, and the listing says Excellent. The buyer opens the package, holds it to a window, and files a not-as-described claim. The seller thought it was clean. The buyer saw a stain. Both were looking at the same shirt. This guide gives you a repeatable test so the grade is set by the garment, not by your hopes.
Surface stain vs set-in stain: what actually separates them
A surface stain sits on top of the fibers or in the outer layer of the yarn. It lifts with the right wash, soak, or spot treatment and does not return as the fabric dries. A set-in stain has bonded to the fiber. Heat from a dryer, years of oxidation, or a body-oil residue can do it. It may lighten but leaves a visible shadow.
The practical difference is simple. If a stain is gone after one controlled cleaning attempt and does not come back, it is not a grading factor. If it is still visible, it is a defect, and it belongs in the report under Cosmetic Appearance, and sometimes under Fabric Condition if the fiber is weakened.
Common set-in culprits on vintage pieces:
- Oxidized oil or sweat: yellow to tan, usually underarms, collars, and cuffs. Often returns after drying.
- Rust: orange-brown near metal hardware, snaps, and zipper tape. Can weaken fiber.
- Mildew: gray, green, or black spotting with a musty smell. Affects Odor & Cleanliness as well.
- Food and grease: dark halos that look gone when wet and reappear dry.
- Ink and marker: usually permanent on natural fibers.
Dye transfer: a different defect with a different grade
Dye transfer is color from one fabric or object that has migrated onto another. Think red sock pink-staining a white shirt, or a new denim jacket bleeding blue onto a cream lining. It is not dirt. Washing often fails because the dye has chemically bonded or been heat-set.
Grade dye transfer by three questions: how large, how visible in normal light, and whether it sits in a prominent area such as the chest or sleeve. Light, scattered tinting inside a lining is less serious than a blue cast across a white front panel. Compare the transfer against the true color in a seam allowance or under a collar. If the whole garment has shifted tone, the cast is part of the fabric now.
Do not call it "vintage patina." Patina is even age-related change. Dye transfer is contamination, and buyers read the difference immediately.
The test sequence: seven steps before you set the grade
Run these in order and note what you see at each step. Do it before you list, not after a complaint.
- Inspect dry under daylight-balanced light. Photograph every mark before you touch it. This is your baseline.
- Check fabric type and care label. Wool, silk, rayon, and old acetate can be damaged by the cleaning attempt. If the fiber is delicate, stop and grade as-is.
- Smell the stain area. Musty or sour odor suggests mildew or bacterial residue. Note it for Odor & Cleanliness.
- Spot test colorfastness. Dab a hidden seam with a damp white cloth. If color lifts, do not soak the garment.
- Run one controlled cleaning pass. Use a gentle enzyme or oxygen-based soak suited to the fiber, then wash per label. One pass only. Repeated attempts weaken fabric.
- Air dry completely. Never machine dry a stained garment. Heat sets what the wash missed.
- Re-inspect dry in the same light. Compare with your step one photos. Check again 24 hours later, since oil and tannin stains often reappear.
If anything is still visible at step seven, it is graded. If it was gone at first and came back, it is graded too.
How stains map to the grading tiers
Stains are scored mainly through Cosmetic Appearance, but cleanliness and fiber effects can pull Odor & Cleanliness and Fabric Condition down as well. Treat the table as a starting point, not a formula. Garment type and visibility change the call.
| What you find | Likely tier | Factors affected |
|---|---|---|
| Fully removed, no shadow, no odor, stays clean when dry | No effect on grade | None |
| Faint shadow only visible at an angle, hidden area (inside hem, under collar) | Very Good | Cosmetic Appearance |
| Light, visible set-in mark in a minor area, small dye tint | Good | Cosmetic Appearance |
| Clear stain on chest, front, or sleeve; moderate dye transfer | Fair | Cosmetic Appearance, Odor & Cleanliness |
| Large or multiple stains, rust or mildew weakening fiber, heavy dye cast | Poor | Fabric Condition, Structural Integrity, Cosmetic Appearance |
A set-in stain also rules out NWT, NWOT, and generally Excellent. Excellent means no meaningful flaws a buyer would notice on first look. A visible yellow underarm mark fails that test.
Location, size, and fiber change the call
Two stains of the same size can land in different tiers. A one-centimeter spot on a graphic tee's print is far more visible than the same spot inside a jacket sleeve lining. Use these adjustments:
- Prominence: front chest, collar, and cuffs count heavier than hems and interiors.
- Contrast: a dark spot on white costs more grade than a tonal mark on navy.
- Fiber damage: if a stain area feels stiff, thin, or brittle, move the issue to Fabric Condition. Rust and mildew do this often.
- Count: many small spots read worse than one, even when the total area is the same.
- Category norms: a work jacket with oil marks may sit differently than a dress shirt, but disclose either way.
When two tiers both seem plausible, grade down. A buyer who gets a Good that looked like Fair rarely complains. The reverse is a return.
Disclosure wording that holds up
Good disclosure is specific. It names the stain type, location, size, and what you tried. It matches the photos. Vague phrases like "minor wear" or "may have small marks" do not protect you under eBay's not-as-described rules or Poshmark and Mercari dispute reviews.
Wording that works:
- "Set-in yellow stain, about 2 cm, left underarm. Washed once, lightened but did not remove. See photo 6."
- "Faint blue dye transfer on lower right front panel, roughly palm-sized. Not removed by washing. See photos 7 and 8."
- "Two small brown spots on back hem, visible in daylight, not removed. Graded Good."
Wording to avoid: "vintage patina" for contamination, "should come out," "just needs a wash," and "great condition" paired with an unexplained mark.
Then back it with photos: one overall shot, one close-up of each stain with a ruler or coin for scale, and one in natural light. Put the stain mention in the first lines of the description as well as in item specifics. On eBay, use the condition description field for it. A buyer who sees the defect before purchase cannot claim it was hidden.
Grade the stain, then let the grade carry it
Vintage buyers expect age. They do not expect a surprise. A stained piece described clearly as Good or Fair with close-ups still sells, often to buyers who plan to over-dye, repair, or wear it as-is. A stained piece listed as Excellent sells once and comes back.
GradeThread scores the five factors, Fabric Condition, Structural Integrity, Cosmetic Appearance, Functional Elements, and Odor & Cleanliness, and returns a 1.0 to 10.0 grade with a written report and a certificate a buyer can verify. Results depend on photo quality and what is visible, so clear close-ups matter. Try grading one stained vintage piece you were unsure how to list, and compare the report to the tier you would have guessed.