There are hundreds of IHC protocols online. This is mine.
I optimized this workflow over ten years ago and, with the reagents listed below, it became my bulletproof protocol. I used variations of it with more than 100 antibodies, including some rather uncooperative polyclonals.
Is it the only way to do IHC? Absolutely not. But when I needed to test a new antibody, this was the workflow I trusted as my starting point.
Scope: Manual chromogenic IHC on formalin-fixed, paraffin-embedded (FFPE) tissue using HRP-polymer detection and DAB. This is a research protocol, not a validated diagnostic procedure.
A few remarks before you start
- Keep deparaffinization and dehydration stations fresh. Xylene accumulates paraffin and alcohols get diluted by carry-over. Eventually, what says “100% EtOH” on the jar isn't quite 100% EtOH anymore.
- Antigen retrieval matters. Three common HIER starting points are citrate pH 6, EDTA around pH 8 and Tris-EDTA pH 9, often with 0.05% Tween 20. There is no universally best buffer - check the antibody datasheet and optimize when needed.
- HRP polymers are not all the same. Polymer architecture and HRP loading differ between detection systems and can affect sensitivity. With the polymers listed below, I rarely needed additional amplification.
- Watch your DAB. I was taught that a well-titrated antibody should develop a convincing signal within roughly 5–10 min. Different DAB formulations have different sensitivities and kinetics, so they are not necessarily interchangeable. More development can also mean more background.
- Hematoxylin is tissue-dependent. Dense lymphatic tissue can become overwhelmingly blue very quickly, hiding DAB signal. Brain tissue was the opposite in my hands - sometimes 2 min wasn't nearly enough. Adjust the staining time or hematoxylin concentration to the tissue rather than expecting one condition to fit everything.
- 1 h or overnight? With this workflow and these reagents, I generally didn't see a meaningful improvement from overnight primary-antibody incubation at 4°C compared with 1 h at RT. That is my experience, not a universal IHC rule. Test what works for your antibody.
Protocol
Part 1 / Day 1
- Deparaffinization and hydration: xylene – 2 × 3 min > 100% EtOH – 2 × 2 min > 96% EtOH – 2 × 2 min > 70–80% EtOH – 2 × 2 min > dH₂O – 3 × 1 min.
Heat-Induced Epitope Retrieval (HIER)
- Move slides to a rack with antigen retrieval solution and heat in an antigen retriever (pressure-cooker- or microwave-based) for approximately 15 min.
- Cool down towards RT. You can speed this up by placing the whole container with slides and retrieval buffer in a cold-water bath.
- Rinse with dH₂O and place in TBS.
- Quench endogenous peroxidase using 3% H₂O₂ in TBS for 10 min at RT, protected from light. H₂O₂ is unstable, so use a suitable fresh working solution. Peroxidase quenching can be positioned at different stages of the protocol; if you change its position, validate the workflow.
- Wash in TBST – 2 × 2 min.
- Prepare a humidified chamber.
- Rinse slides in TBS, drain excess buffer without allowing the tissue to dry, and create a hydrophobic barrier using a PAP pen.
- Apply enough blocking solution to cover the whole section. Incubate for 15–60 min at RT in a humidified chamber.
Primary antibody incubation
- Add primary antibody diluted in antibody diluent and incubate either overnight at +4°C in a humidified chamber or for 1 h at RT in a humidified chamber.
Part 2 / Day 2
- Wash in TBST – 3 × 5 min.
Secondary antibody incubation
- Add the appropriate anti-mouse or anti-rabbit HRP-polymer secondary antibody and incubate for 30 min at RT.
- Wash in TBST – 3 × 5 min.
Chromogen incubation
- Move slides to the designated area for DAB handling. Follow your institution's requirements and the reagent SDS for handling and disposal.
- Add prepared chromogen to cover the sections. For BrightDAB, I used 1 mL Solution A + 1 drop Solution B. Incubate for up to 10 min and monitor development.
- Stop the reaction by placing the slide in dH₂O.
- Wash off DAB in 2 more changes of dH₂O.
Counterstaining
- Counterstain with Mayer's hematoxylin for 20 s–2 min as a starting range. This is tissue-specific.
- Wash out hematoxylin by dipping in 3 changes of dH₂O, until the water is clear.
- Blue hematoxylin in suitably alkaline tap water or a bluing reagent: Scott's tap water substitute, dilute ammonia water, 0.1% sodium bicarbonate solution or saturated lithium carbonate solution.
- Rinse in one change of dH₂O.
- Dehydration: 70% EtOH – 2 × 1 min > 96% EtOH – 2 × 1 min > 100% EtOH – 2 × 1 min > xylene – 2 × 3 min. The last xylene change should be completely clear.
- Mount with Pertex and air-dry.
Reagents that worked for me
Disclaimer: I am not sponsored by any of these companies. These are simply reagents that worked well for me.
- Antigen retrieval buffers: Vector Laboratories; Abcam
- PAP pen: ImmEdge Hydrophobic Barrier (PAP) Pen, H-4000 (Vector Laboratories); ReadyProbes Hydrophobic Barrier Pap Pen, R3777 (Thermo Fisher Scientific)
- Blocking / antibody diluent: BrightDiluent, UD09 (Immunologic); Animal-Free Blocking Solution, #15019 (Cell Signaling Technology)
- Primary antibody: Gotcha! You need to find that one yourself - and preferably validate it rather than trusting the catalogue image.
- Secondary antibody polymer: BrightVision 1-step HRP anti-rabbit, DPVR55HRP; BrightVision 1-step HRP anti-mouse, DPVM55HRP (Immunologic); DAKO EnVision+ System, HRP
- DAB chromogen: BrightDAB, BS04 (Immunologic); DAKO Liquid DAB+ Substrate Chromogen System
