How To Test Heroin

How to Test Heroin and Pain Pills for Fentanyl and Adulterants (2026 guide)

Testing heroin or pills? Strips first

No reagent can detect fentanyl, nitazenes or xylazine. Those need test strips, and they need different strips for each.

Most of the risk in the illicit opioid supply comes from things a reagent cannot see. Fentanyl, its analogs, nitazenes and xylazine all produce no color change at the concentrations they show up in, so the reagents on this page tell you what the bulk of your sample is, and strips tell you what's hiding in it. Testing gives you information you wouldn't otherwise have. It cannot make a sample safe, and no test rules out every risk.

Which test do I need?

Is there fentanyl in it?

The most important test. Read at five minutes. No reagent can do this.

Shop FentKit
Are there nitazenes in it?

Fentanyl strips miss these entirely. Needs its own strip.

Shop nitazene strips
Is there xylazine in it?

Naloxone won't reverse xylazine. Opioids only — don't use these on stimulants.

Shop Xyl strips
Is an opiate what's actually in it?

Marquis, Mecke and Froehde plus ten fentanyl strips. Best value.

Shop the package
One kit only?

Buy strips, not a reagent. What a reagent can't see is what's most likely to kill you.

Shop FentKits
Is it a mixture, and how much of each?

Separation kits identify each component individually.

Shop Juno
Heroin test kit flow chart — decision guide for strips, the Heroin and Pain Pills Spot Kit Package, and separation testing

The heroin testing flow chart. The sections below walk this same path in order.

Test for fentanyl, nitazenes and xylazine first

Reagents cannot see any of the following. Each needs its own strip, and one strip does not cover another.

Strip-detectable adulterants in the opioid supply
AdulterantWhy it mattersWhat detects it
Fentanyl and analogsThe dominant cause of opioid overdose deaths. Unevenly distributed through a batchFentKit — fentanyl test strips
NitazenesUp to roughly 1000 times more potent than morphine, some variants stronger than fentanyl. Increasingly sold as heroin or pressed into counterfeit opioid pills. May need more naloxone than a fentanyl overdose to reverseNitazene test strips — fentanyl strips do not detect these. See how to test for nitazenes
Xylazine ("tranq")A veterinary sedative, not an opioid — naloxone will not reverse it. Deepens sedation and slows breathing alongside an opioid, and causes severe skin ulcers, abscesses and necrosisXyl test strips. See how to test for xylazine
Nitazenes are the gap most people don't know about

A reader who follows a fentanyl-strip-only routine is not testing for nitazenes at all. Nitazenes have been rising in the illicit supply since 2019, are being sold as heroin and pressed into counterfeit pills, and in reported overdoses people generally had no idea they were exposed. Our nitazene strips detect nitazene at and above 2000 ng/mL. If you test opioids, test for nitazenes.

What test strips can and can't tell you
  • Not every analog is detected. Fentanyl strips cover a broad range of fentanyl analogs, but some analogs and some novel synthetic opioids read negative.
  • A negative only describes the portion you tested. Fentanyl is unevenly distributed through powder and through pressed pills, so one clean strip does not clear the rest of the batch. Test more than one spot.
  • Dilution decides the result. Any drug can push a strip toward a false positive if it's over-concentrated, or a false negative if it's over-diluted. Follow the ratio in the instructions rather than eyeballing it.
  • Xyl strips are for opioids only. Where xylazine has turned up in cocaine or methamphetamine it has consistently been alongside fentanyl, so for non-opioids screening for fentanyl is the priority.
  • A negative on all three strips is not a green light. It narrows things down. It does not tell you how strong what's left actually is.

What color should heroin turn?

Marquis is the primary test. Opiates give a strong purple — but so do all the other opiates, so read this as "consistent with an opiate," not as identifying heroin. Every reaction below is from our official reaction library, filmed on verified heroin. Use a fresh sample of the drug for each reagent, in bright neutral daylight.

The package trio: Marquis, Mecke, Froehde

Marquis reagent reacting with heroin, red into deep purple
Marquis + heroin RedPurple

The primary test. Red into deep purple within seconds is consistent with an opiate — codeine and morphine read the same. Fentanyl, nitazenes and xylazine show nothing here at all.

Watch full reaction
Mecke reagent reacting with heroin, blue-green
Mecke + heroin BlueGreen

A concordant second reading — deep blue-green darkening. Codeine and morphine sit in the same range.

Watch full reaction
Froehde reagent reacting with heroin, red through purple to black
Froehde + heroin RedPurpleBlack

Watch the progression, not just the endpoint. A sky blue instead means acetaminophen is dominating the reaction — common in pills.

Watch full reaction

Going deeper: the full reaction library

Mandelin reagent reacting with heroin, yellow-brown darkening through black to green
Mandelin + heroin YellowBrownBlackGreen

Mandelin is naturally mustard yellow — run a blank drop alongside.

Watch full reaction
Liebermann reagent reacting with heroin, black-brown
Liebermann + heroin BlackBrown

Acetaminophen reads reddish-purple here — another pill tell.

Watch full reaction
Simon's reagent reacting with heroin, red-brown
Simon's + heroin RedBrown

A strong bright blue would flag a secondary amine like meth or MDMA instead.

Watch full reaction
Ehrlich reagent on heroin, clear to brown
Ehrlich + heroin ClearBrown

Purple would mean an indole — never expected here.

Watch full reaction
Robadope reagent on heroin, clear to brown
Robadope + heroin ClearBrown

A vivid response would point to a primary amine such as amphetamine.

Watch full reaction
Hofmann reagent on heroin showing no reaction
Hofmann + heroin No reaction Watch full reaction
Red flags at a glance
  • Any bright, differently colored Marquis — orange, brown, yellow, green or bright red means the dominant compound is not an opiate. Aspirin gives pink to deep red; amphetamines orange to brown; DXM a slow, smoking grey-black.
  • Froehde goes sky blue — acetaminophen is dominating the reaction. Common in genuine and counterfeit pills alike, and it can mask everything else present.
  • Oxycodone reads weak and variable — Marquis from nothing to a dusky violet, Mecke from nothing to light blue-grey. A "normal-looking" oxy reaction is not reassurance: counterfeit pressed pills containing fentanyl read exactly like this. The strip matters more than the color here.
  • No color anywhere on any reagent — remember that fentanyl, nitazenes and xylazine never produce a color. Quiet reagents say nothing about the most dangerous possibilities.
Reagents cannot tell heroin from codeine or morphine

Heroin, morphine and codeine all sit in the same purple range on Marquis and the same dark blue-green range on Mecke. Froehde's colors differ slightly in hue and in how they change over time, but not reliably enough to identify one opiate over another by eye.

What three concordant reactions give you is confidence that an opiate is the dominant compound in the sample. That is genuinely useful — it rules out a lot of things. It is not an identification of heroin, and it says nothing about potency, which is the variable that actually kills people. Separating one opiate from another needs lab analysis through Transparency Testing.

Marquis reagent color guide — the primary reference for opiates. Also available as the printed booklet in every Marquis Spot Test Kit, or as a web page at the Marquis reaction booklet.

Running Marquis, Mecke and Froehde
  1. Place a pinhead of sample — roughly a few milligrams — on a clean white ceramic plate. For pills, scrape powder from the side or interior with a knife point rather than testing the coating.
  2. Add one drop of reagent from above. Never touch the bottle tip to the sample; that contaminates the whole bottle.
  3. Watch from the instant the drop lands. Note the starting color, how it changes, and how long it takes.
  4. Read within about 40 seconds. After that the reaction keeps changing and is no longer meaningful.
  5. Use a fresh sample of the drug for each reagent. Do not add a second reagent to a spot you have already tested.
  6. Neutralise the plate with baking soda, then wash with soap and water.

None of these three is a two-part reagent — one bottle, one drop each.

What these reagents can't do
  • They cannot detect fentanyl, nitazenes or xylazine. These are active in microgram amounts and produce no color. This is the single biggest limitation on this page.
  • They cannot tell one opiate from another. See the callout above.
  • They say nothing about potency. Two bags giving identical purple can differ enormously in strength.
  • They show what's most abundant. A strong purple from an opiate will overshadow a lighter reaction from a minor adulterant.
  • Acetaminophen distorts pill results. It gives sky blue on Froehde and a reddish-purple on Liebermann, and it can dominate the final color of a pressed pill so that the blend can't be read at all.
  • Black tar and sticky samples are hard to test. Reagent contact with the surface of a tar sample is poor and results are often faint or ambiguous.

Mecke reagent color guide — deep blue-green for opiates. Printed booklet included with the Mecke Spot Test Kit.

Froehde reagent color guide — watch the progression, not just the endpoint. Printed booklet included with the Froehde Spot Test Kit.

Cross-reference with more reagents

The Heroin & Pain Pills Spot Kit Package costs less than buying each kit individually.

What's in the package
10 × fentanyl test strips
Enough to check several parts of your supply. The most important item in the box.
Marquis reagent
The primary test. Red into deep purple is consistent with an opiate. Any bright, differently colored reaction is a red flag.
Mecke reagent
Deep blue-green darkening toward blue-black for opiates. A concordant second reading.
Froehde reagent
Red through purple toward black for heroin. Also gives a distinctive sky blue with acetaminophen, which is useful when you're testing pills.

Nitazene and Xyl strips are sold separately. Nothing in this package can detect fentanyl, nitazenes or xylazine except the strips.

Other things found in the illicit opioid supply

Substances found in the opioid supply and how to screen for them
SubstanceCategoryHow to screen for it
Fentanyl and analogsSynthetic opioidFentanyl test strips only — no reagent color exists
NitazenesSynthetic opioidNitazene strips only — fentanyl strips do not cover them
XylazineVeterinary sedative, not opioidXyl strips only
Codeine, morphineOpiatesMarquis, Mecke and Froehde all react in the same ranges as heroin. Reagents cannot separate them — lab analysis required
AcetaminophenAnalgesic, very common in pillsFroehde (sky blue). It distorts other reagents' final colors
DXMDissociative cough suppressantMarquis timing — a slow grey-to-black over roughly 15–30 seconds, often smoking, rather than an immediate purple
O-desmethyltramadolOpioid metabolite sold as a research chemicalCross-reference across Marquis, Mecke and Froehde; confirmation needs lab analysis
AspirinAnalgesic cutMarquis (pink to deep red) and Froehde (greyish purple or blue to purple)
Benzodiazepines, including novel onesSedatives, common in counterfeit pillsNot reliably detectable with these reagents — lab analysis
Quinine, caffeine, mannitol, inert cutsBulking agentsNo reliable reagent test. A separation kit or lab analysis

There's no purity test for heroin

We make QTest purity kits for several substances, but not for heroin or pharmaceutical opioids, so there's no way to read a percentage at home. That matters, because potency is the variable most likely to cause an overdose and it's exactly the thing none of the tests on this page measure.

The closest available option is a separation kit. Our Juno Separation Package includes the Marquis, Mecke and Froehde reagents and can separate a mixture so you can look at each component individually, which gives an approximate sense of how much of each is present. The Curiosity (Pro Level) Separation Package includes every reagent we sell. Fentanyl, nitazene and Xyl strips still have to be bought separately. Instructions are on the Skylab separation kit basics page.

For an actual answer on both identity and quantity, mail a sample to Transparency Testing, our mail-in lab analysis service.

Purchase the Juno Separation Kit Package Purchase the Curiosity Pro Level Separation Kit Package

Step by step

  1. Test for fentanyl. Roughly 10 mg in half a teaspoon of water, dip, read at five minutes. Test more than one spot from a larger amount.
  2. Test for nitazenes. Same dilution approach — check the strip instructions. Fentanyl strips do not cover nitazenes.
  3. Test for xylazine. Opioid samples only.
  4. Run Marquis. A pinhead of sample, one drop, watch from the instant it lands. Red into deep purple within about ten seconds is consistent with an opiate.
  5. Run Mecke on a fresh sample. Deep blue-green is concordant.
  6. Run Froehde on a fresh sample. Red through purple toward black. A sky blue instead means acetaminophen is dominating the reaction.
  7. Treat concordance as "an opiate," not "heroin." Three agreeing reactions narrow it down; they don't identify which opiate, and they say nothing about strength.
  8. Start low regardless. Use a fraction of your usual amount from a new batch, with naloxone present and someone else in the room.
  9. Record it. Photograph your results in daylight next to the booklets — and send unresolved samples to Transparency Testing for identity and concentration.
Things that ruin a test
  • Guessing at the dilution for a strip. Over-concentrated pushes toward false positives, over-diluted toward false negatives.
  • Testing one spot of a large batch and treating the whole batch as cleared. Fentanyl is not evenly distributed.
  • Dropping a second reagent onto a spot you've already tested. Use a fresh sample every time.
  • Reading a reaction after 40 seconds, or reading only the endpoint when Froehde's value is in the progression.
  • Dim or colored lighting. Bright neutral daylight is best; a dark blue-green and a purple-black are easy to confuse under warm light.
  • Testing the coating of a pill instead of powder scraped from the interior.
  • Too much or too little sample. A pinhead, roughly a few milligrams.
  • Old reagent. Store cool and dark — a fridge or freezer is ideal — and replace Marquis or Mecke once it has darkened enough to obscure the reaction.
  • Reading only one reagent, or treating a reagent result as a substitute for a strip. It isn't one.

Your result wasn't what you expected

Don't consume it. Here's what to do instead.
  • Have naloxone in the room and know how to use it. Give a dose, call emergency services, and give rescue breaths. Nitazene overdoses may need more than one dose, and if xylazine is involved naloxone will reverse the opioid part but not the sedation, so keep monitoring breathing after the person responds. Never use alone.
  • Find out what it actually is. Mail a sample to Transparency Testing, our mail-in lab analysis service — a definitive answer where reagents can't give one, including which opiate and at what concentration.
  • Rule out the test itself. Re-run with fresh reagent, a fresh sample, the correct strip dilution and better lighting before drawing conclusions.
  • If you're going to use anyway, use far less than usual, don't mix with alcohol or benzodiazepines, don't use alone, and go slowly. A tolerance break makes the risk worse, not better.

Questions

Can a reagent tell me if there's fentanyl in my heroin?

No. Fentanyl is active in microgram amounts and produces no color change at the concentrations found in adulterated samples. There is no color to look for. Screening for it needs fentanyl test strips, and those don't cover nitazenes.

Can Marquis tell heroin from codeine or morphine?

No. All three fall in the same purple range. Mecke and Froehde don't separate them reliably either. Three agreeing reactions tell you an opiate is the dominant compound; they don't tell you which one. That needs lab analysis through Transparency Testing.

If my fentanyl strip is negative, am I in the clear?

No. A negative means fentanyl wasn't detected in the specific portion you dissolved, at the dilution you used. It doesn't cover the rest of the batch, it doesn't cover every analog, and it doesn't cover nitazenes or xylazine at all — those need their own strips.

Do I need a separate strip for nitazenes?

Yes. Fentanyl strips do not detect nitazenes. They're a distinct chemical class and need nitazene strips. Nitazenes are increasingly sold as heroin and pressed into counterfeit opioid pills.

Will naloxone work on xylazine?

Not on the xylazine itself — it's a sedative, not an opioid. Give naloxone anyway, because xylazine is almost always found alongside an opioid and naloxone will reverse that part. Expect the person to stay sedated after they respond, and keep monitoring their breathing.

Can I test counterfeit oxycodone pills?

You can, but read the result carefully. Oxycodone's own reactions are weak and variable — Marquis ranges from no reaction to a dusky violet, Mecke from nothing to light blue-grey — and acetaminophen distorts Froehde and Liebermann. Counterfeit pressed pills containing fentanyl commonly give the same expected-looking result as genuine ones, which is exactly why the strip matters more than the color here.

How much sample do I need?

Reagent tests need about a pinhead, a few milligrams. Strips need roughly 10 mg dissolved in about half a teaspoon of water — check the current ratio in the strip instructions, since it differs by strip type.

Does a clean set of results mean my sample is safe?

No. Reagent tests are presumptive, strips only cover what they're designed to cover, and neither tells you potency. Testing lowers your risk of an unpleasant surprise; it doesn't remove risk.

Ready to test?

Ten fentanyl strips plus Marquis, Mecke and Froehde. Orders ship within 24 hours.

Free shipping over $75 · Discreet packaging

More resources

Disclaimer

A sample that has been tested should not be considered safe. There is inherent risk when choosing to consume any substance.

Many factors are involved when conducting a test and examining reactions, and The Bunk Police does not assume responsibility for the interpretation of results. Reactions of individual samples can vary depending on lighting differences and the specific mixtures of substances being tested.

Bunk Police kits are intended for identifying unknown substances for harm reduction purposes only. The Bunk Police does not assume responsibility for the use or misuse of this information. Proceed at your own risk.