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.

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.

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. Use a fresh sample of the drug for each reagent, in bright neutral daylight.

Expected reagent colors when testing suspected heroin and pharmaceutical opioids, and what those colors cannot tell you
ReagentColor ReactionWhen to readWhat it meansWhat it does not rule out
Marquis — heroin Deep purple, often reading purple-red then darkening toward purple-black Within 10 seconds; discard the reading after about 40 seconds Consistent with an opiate being the dominant compound Codeine and morphine give the same purple. Fentanyl, nitazenes and xylazine produce no color at all and are completely invisible here
Marquis — codeine Very dark purple Within 10 seconds Indistinguishable from heroin on Marquis Nothing — Marquis cannot separate heroin, codeine and morphine. Anything claiming otherwise is wrong
Marquis — morphine Deep purple-red Within 10 seconds Indistinguishable from heroin on Marquis Same as above
Marquis — oxycodone A range: no reaction, through light grey, to a dusky or violet purple Within 40 seconds Much weaker and paler than heroin. Acetaminophen in the pill makes a non-reaction more likely Counterfeit pressed pills routinely contain fentanyl and read exactly like this. A "normal-looking" oxy reaction is not reassurance
Marquis — any bright, differently colored reaction Orange, brown, yellow, green or bright red Within 40 seconds The dominant compound is not an opiate — an immediate red flag Do not consume. Aspirin gives pink to deep red, DXM slow grey-black, amphetamines orange to brown
Mecke — heroin Deep blue-green, darkening toward blue-black Within 40 seconds A concordant reaction: it agrees with Marquis that an opiate is present Codeine and morphine give very dark blue-green as well. Agreement between reagents does not identify heroin specifically
Mecke — codeine or morphine Very dark blue-green Within 40 seconds Indistinguishable from heroin on Mecke Nothing
Mecke — oxycodone A range: no reaction, through light blue-grey; sometimes a faint pink with acetaminophen present Within 40 seconds Weak and variable. Not a useful confirmation Fentanyl in a counterfeit pill. Use strips
Froehde — heroin Deep purple-red, then moving toward green Watch the whole 40 seconds — the progression matters more than any single moment A third concordant reaction consistent with an opiate Morphine gives deep purple-red moving to slate; codeine gives very dark green moving to red-brown. These hue-and-timing differences are too subtle to rely on for identification
Froehde — acetaminophen Sky blue Within 40 seconds Acetaminophen is present, which is common in both genuine and counterfeit pills A sky-blue Froehde can dominate the plate even when several other things are in the sample, masking them
Any reagent — fentanyl or its analogs No color change whatsoever Never appears Spot kits cannot detect fentanyl. There is no color to look for, at any read time Only fentanyl test strips can screen for it
Any reagent — nitazenes No usable color change Never appears Reagents cannot detect nitazenes, and neither can fentanyl strips Needs separate nitazene strips
Any reagent — xylazine No usable color change Never appears Reagents cannot detect xylazine, and fentanyl strips do not detect it either Needs Xyl test strips
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.

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 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. Deep purple to purple-black 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
Deep purple-red moving toward green 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

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, use our lab testing service.

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

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

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 ratios as the xylazine strip. 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. Deep purple darkening toward purple-black within about ten seconds is consistent with an opiate.
  5. Run Mecke on a fresh sample. Deep blue-green to blue-black is concordant.
  6. Run Froehde on a fresh sample. Deep purple-red moving toward green. 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 and consider reporting them to BunkLeaks so others benefit.
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.
  • Report it. Log the sample in BunkLeaks — an unexpected result in your area is a warning for everyone else in it.
  • Find out what it actually is. Our lab testing service gives you a definitive answer where reagents can't, 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.

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.