Cannabis Freedom Index

Changelog 1e271a5

more facts

42 history entries added11 history entries edited2 history entries removed1 score changed31 country profiles edited1 file of code, design or docs +1,146 −93 lines

Score changes 1 place

  1. Georgia2216−6possession 3 → 2enforcement 4 → 2

History changes.yaml

Added 42

Edited 11

Saint Lucia decriminalises 30 g

date

2021-09-1427

sources

Saint Lucia — Drugs (Prevention of Misuse) (Amendment) Act, No. 13 of 2021 (National Printing Corporation) 2 unchanged

Removed 2

Countries and states 32 files

Georgia countries/ge.yaml

possession 3 → 2enforcement 4 → 2

summary

The Constitutional Court struck down penalties for consumption in 2018, making private use legal. In July 2025 parliament brought prison back for possessing more than 5 g. Cultivation and sale remain crimes, so there is no lawful source.

segments › possession › text

After Constitutional Court rulings in 2017–2018, small possession no longer leads to prison. Up to 5 g of dried cannabis carries no criminal liability, onlyis an administrative offence with a fine; between. Criminal Code amendments adopted on 2 July 2025 ended the court-made rule that 5 g and –70 g is a criminal 'small amount' but cannotcould not bring prison: buying or holding more than 5 g can now be punished with imprisonment. Aboveup to six years, 70–250 g with five to eight years, prison appliesand a repeat offence under 5 g with up to one year.

segments › possession › sources

jamcivil, wikiocm, jam

segments › cultivation › text

Growing remains illegal. Small-scale cultivation is punished less severely than before, but there iswith no tolerated plant count. The 2025 amendments added a separate offence of sowing or growing, punished by a fine, community service, house arrest or two to six years in prison depending on quantity.

segments › cultivation › sources

ocm, jam, idpc

segments › enforcement › text

NoUse itself is not punished and under 5 g brings a fine, but since July 2025 prison is again possible above 5 g and for small possession or for use; fines applyrepeat offences. Sale and larger quantities carry long prison sentences under a drug law that is otherwise severe.

segments › enforcement › sources

jamcivil, ocm, idpc

sources

Civil.ge — Georgian Dream Criminalizes Small Marijuana Possession (2 July 2025) OC Media — Georgia to introduce 6-year prison sentence for possession of over 5 grams of marijuana (2025) 4 unchanged

Antigua and Barbuda countries/ag.yaml

sources

Misuse of Drugs (Amendment) Act, 2018 (No. 3 of 2018) 3 unchanged

context › planting › seeds

grey

context › planting › seeds trade

unclear

context › planting › clones

grey

context › planting › clones trade

unclear

context › planting › text

The 2018 amendment makes it lawful for a household to cultivate up to four plants on its property. It does not mention seeds or say where plants may be obtained.

context › planting › sources

act3

Australia countries/au/index.yaml

sources

Alcohol and Drug Foundation — Cannabis in the ACT (January 2020, updated November 2023) 4 unchanged

context › planting › seeds

illegal

context › planting › seeds trade

banned

context › planting › clones

grey

context › planting › clones trade

banned

context › planting › text

Even in the Australian Capital Territory, where adults may grow two plants, selling or supplying cannabis seeds is illegal and there is no legal way to obtain them; the only lawful cannabis is what a resident grows. Commonwealth law is unchanged, and elsewhere in Australia growing is an offence or a fine.

context › planting › sources

adf

Belgium countries/be.yaml

sources

Arrêté royal du 6 septembre 2017 réglementant les substances stupéfiantes et psychotropes, consolidated (Justel) 3 unchanged

context › planting › seeds

grey

context › planting › seeds trade

unclear

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

The 2017 royal decree says growing cannabis plants "is prohibited and cannot be authorised", apart from hemp grown under EU farm rules, and it does not mention seeds. Growing for personal use falls under the lighter penalties of the drug law, and one plant is treated with the same low priority as three grams.

context › planting › sources

ar2017

Brazil countries/br.yaml

sources

Lei nº 11.343, de 23 de agosto de 2006 (Planalto) 4 unchanged

context › planting › seeds

grey

context › planting › seeds trade

unclear

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

Law 11.343 does not name seeds. It treats sowing or growing plants for a small amount for personal use like possession, with a warning, community service or an educational course instead of prison (Article 28), and punishes growing without authorisation, or supplying raw material for drugs, as trafficking (Article 33).

context › planting › sources

lei

Bahamas countries/bs.yaml

context › medical › text

Legal under the 2024 law on a practitioner's prescription, through licensed outlets. The system is newIn July 2026 the Cannabis Authority had still not opened licence applications, so no licensed outlet was operating.

context › medical › sources

ewn, mm, trib26

sources

The Tribune — 'Measure twice, cut once' medical cannabis approach (22 July 2026) 3 unchanged

Switzerland countries/ch.yaml

sources

Bundesgericht, Urteil 6B_274/2020 vom 27. August 2020 (Einziehung von Hanfsamen) 3 unchanged

context › planting › seeds

illegal

context › planting › seeds trade

banned

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

Swiss law draws the line at 1% THC for seeds as it does for plants. In 2020 the Federal Supreme Court upheld the confiscation of hemp seed taken from plants measured at 1.8% THC, because the seed could again produce plants above 1% and so fell under the list of prohibited narcotics. Seed and plants of certified low-THC varieties are legal.

context › planting › sources

bger

Chile countries/cl.yaml

context › planting › seeds

grey

context › planting › seeds trade

unclear

context › planting › clones

grey

context › planting › clones trade

unclear

context › planting › text

Law 20.000 punishes sowing, planting or growing cannabis without authorisation from the agriculture service, unless the grower shows the plants are for exclusive personal use or, since 2023, holds a medical prescription. It mentions seeds only where an authorised grower diverts them to trafficking, and does not say where a personal grower may obtain seeds or plants.

context › planting › sources

ley

Spain countries/es.yaml

sources

elDiario.es — Grow shops: la paradoja de una legislación que permite comprar semillas de marihuana pero no plantarlas (2018) 4 unchanged

context › planting › seeds

grey

context › planting › seeds trade

open

context › planting › clones

grey

context › planting › clones trade

unclear

context › planting › text

Grow shops have sold cannabis seeds openly since about 2000, alongside soil, lamps and fertiliser. Shop owners interviewed in 2018 said the trade is legal because seeds contain no THC, and that what the buyer then grows at home is the buyer's affair. The sources read do not cover cuttings.

context › planting › sources

grow

Croatia countries/hr.yaml

context › production › sources

pp, zszd

sources

Zakon o suzbijanju zlouporabe droga, consolidated text (NN 107/01 … 39/19) — Zakon.hr 3 unchanged

context › planting › seeds

illegal

context › planting › seeds trade

banned

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

The Act on Combating Drug Abuse defines growing a plant to obtain drugs as including "acquiring and possessing seed", sowing and planting, and Article 3 bans it outside medical, veterinary, scientific and teaching use. Industrial hemp of EU-listed varieties with no more than 0.2% THC is exempt, and its growers must register before sowing.

context › planting › sources

zszd

Ireland countries/ie.yaml

sources

Misuse of Drugs Act, 1984, section 2 (Irish Statute Book) Misuse of Drugs Act, 1977 (Irish Statute Book) 4 unchanged

context › planting › seeds

grey

context › planting › seeds trade

open

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

Since 1984 the Misuse of Drugs Act has defined cannabis as any plant of the genus Cannabis or any part of it, but not seed separated from the plant. Seeds are therefore not a controlled drug. Growing any cannabis plant without a ministerial licence is an offence under section 17, and a cutting is itself a plant.

context › planting › sources

mda84, mda77

India countries/in.yaml

sources

Narcotic Drugs and Psychotropic Substances Act, 1985, section 2 (text as reproduced by AdvocateKhoj) 3 unchanged

context › planting › seeds

grey

context › planting › seeds trade

open

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

The 1985 Act defines ganja as the flowering or fruiting tops of the plant, "excluding the seeds and leaves when not accompanied by the tops", so loose seeds are not a narcotic drug. Cultivating any cannabis plant is an offence under section 20 unless a state government permits it under section 10.

context › planting › sources

ndps

Italy countries/it.yaml

sources

Cassazione penale, Sezioni Unite, sentenza n. 47604 del 18 ottobre 2012 (Ministero dell'Interno, PDF) 4 unchanged

context › planting › seeds

grey

context › planting › seeds trade

open

context › planting › clones

grey

context › planting › clones trade

unclear

context › planting › text

The Court of Cassation's united sections held in 2012 that merely offering cannabis seeds for sale is not prohibited: it is an unpunishable preparatory act, since the buyer's use of the seed cannot be known. Selling seeds together with growing instructions may still be prosecuted as incitement. Plants fall under the cultivation rules.

context › planting › sources

su2012

Jamaica countries/jm.yaml

context › planting › seeds

grey

context › planting › seeds trade

unclear

context › planting › clones

grey

context › planting › clones trade

unclear

context › planting › text

The justice ministry's fact sheet on the 2015 amendment says each household may legally grow up to five ganja plants. It does not mention seeds or say where a household may obtain plants.

context › planting › sources

fact

Saint Kitts and Nevis countries/kn.yaml

segments › cultivation › text

The same court ruling protects growing in private for personal use, and the 2019 amendments treat five plants or fewer as a ticketable matter rather than a crime. It is tolerated rather than positively licensed. Since April 2026 adults can also apply, under the 2023 Freedom of Conscience (Cannabis) Act, for a licence to grow up to five plants in a secured part of a private home.

segments › cultivation › sources

norml, wiki, gov26

sources

St Kitts and Nevis government — Forms available for applications under Freedom of Conscience (Cannabis) Act (2 April 2026) 4 unchanged

Saint Lucia countries/lc.yaml

segments › possession › text

SinceUnder the amendment passed by the House on 14 September 2021 and in force from 27 September, a person holding 30 g or less of cannabis or cannabis resin 'is not guilty of an offence', for personal, private use by adults. Above 30 g the ordinary offences apply.

Sri Lanka countries/lk.yaml

context › production › text

The state supplies cannabis to the Ayurvedic sector; proposals. In August 2025 seven foreign investors received six-month licences to license cultivation for export have been announced by successive governmentsgrow cannabis on Board of Investment land, on condition that the whole crop is exported.

context › production › sources

leap, dm25

sources

Daily Mirror — Sri Lanka approves first legal cannabis cultivation by foreign investors (13 August 2025) 2 unchanged

Mexico countries/mx.yaml

sources

Telemundo — El consumo recreativo de marihuana se vuelve más fácil en México tras fallo de la Corte (29 June 2021) 4 unchanged

context › planting › seeds

licensed

context › planting › seeds trade

banned

context › planting › clones

licensed

context › planting › clones trade

banned

context › planting › text

After the Supreme Court's 2021 ruling an adult can apply to the health regulator COFEPRIS for a personal-use permit, which covers acquiring seed, sowing, growing and harvesting. The regulator was left to define how seed may be acquired, and the permit does not allow importing, selling or distributing, so there is no legal seed trade.

context › planting › sources

tele

Norway countries/no.yaml

sources

Forskrift om narkotika (narkotikaforskriften), with the narcotics list — Lovdata 3 unchanged

context › planting › seeds

grey

context › planting › seeds trade

open

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

Norway's narcotics list defines cannabis as the above-ground parts of any plant of the genus, "except the seeds". Seeds are therefore not narcotics. Growing plants to produce narcotics counts as manufacture under section 7 of the narcotics regulation and needs a permit.

context › planting › sources

nf

New Zealand countries/nz.yaml

sources

New Zealand Police — Illicit drugs: offences and penalties 4 unchanged

context › planting › seeds

illegal

context › planting › seeds trade

banned

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

New Zealand Police list cannabis seed and cannabis plant as Class C controlled drugs. Possessing cannabis seed carries up to one year in prison or a NZ$500 fine, cultivating the plant up to seven years, and supplying a Class C drug up to eight years.

context › planting › sources

police

Philippines countries/ph.yaml

context › planting › seeds

illegal

context › planting › seeds trade

banned

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

Republic Act 9165 defines cannabis as any part of the plant "and seeds thereof", so seeds fall under the same possession and sale offences as the drug. Section 16 punishes planting or cultivating marijuana "regardless of quantity" with life imprisonment.

context › planting › sources

ra

Palau countries/pw.yaml

segments › consumption › text

Use is illegal; Palau has long had one of the highest reported rates of cannabis use in the world. Under a drug law signed in May 2026 (RPPL 12-5), testing positive for an illegal drug is treated as possession of a small amount.

segments › consumption › sources

pit1, pina

sources

PINA / Island Times — Zero-tolerance drug law clears Palau legislature (29 April 2026) 3 unchanged

Qatar countries/qa.yaml

segments › possession › text

Law 9 of 1987 on narcotics, amended in 2023, bans possession of cannabis in any form, seeds included. Sources give different ranges for personal possession — fromArticle 37, as quoted by a Qatari newspaper, sets six months to three years upin prison and a fine of QR10,000 to QR20,000 for possession for personal use; other sources give much longer terms — plus heavy fines. Trace amounts are prosecuted.

segments › possession › sources

pen, cann, trip

sources

The Peninsula — report quoting Article 37 of Law No. 9 of 1987 (28 June 2021) 2 unchanged

Serbia countries/rs.yaml

sources

Zakon o psihoaktivnim kontrolisanim supstancama (Sl. glasnik RS 99/2010, 57/2018) — Paragraf 3 unchanged

context › planting › seeds

licensed

context › planting › seeds trade

regulated

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

The Act on Psychoactive Controlled Substances bans growing cannabis varieties that can contain more than 0.3% THC. Hemp may be grown only with a licence from the agriculture ministry, for fibre, for seed and for further propagation, and the seed trade is part of that licensed activity.

context › planting › sources

zpks

Sweden countries/se.yaml

sources

Förordning (1992:1554) om kontroll av narkotika — Sveriges riksdag Narkotikastrafflag (1968:64) — Sveriges riksdag 3 unchanged

context › planting › seeds

grey

context › planting › seeds trade

open

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

The narcotics control ordinance defines cannabis as the above-ground parts of any plant of the genus Cannabis "with the exception of seeds", so seeds are not narcotics. A cutting is an above-ground part of the plant and is covered, and producing narcotics is an offence under the Narcotic Drugs Penal Act.

context › planting › sources

nk, nsl

San Marino countries/sm.yaml

context › production › text

No licensedSince Law 113 of 2021 cannabis may be grown in authorised greenhouses and processed for medicines only, under an authorisation from the health authority. Whether any authorisation has been issued was not confirmed. There is no production for adult use.

context › production › sources

wikil113

sources

Legge 23 giugno 2021 n.113 (Consiglio Grande e Generale) 3 unchanged

context › planting › seeds

licensed

context › planting › seeds trade

regulated

context › planting › clones

licensed

context › planting › clones trade

regulated

context › planting › text

The 2021 medical cannabis law counts the seeds as part of the cannabis plant when THC exceeds 0.2% and allows seeds and plants to be grown only in authorised greenhouses for medicines. Growing, processing and trading all require an authorisation from the health authority.

context › planting › sources

l113

Thailand countries/th.yaml

sources

Tilleke & Gibbins — Cannabis and Hemp Business Guide: Thailand (2025, PDF) 5 unchanged

context › planting › seeds

legal

context › planting › seeds trade

open

context › planting › clones

legal

context › planting › clones trade

unclear

context › planting › text

A 2025 law-firm guide lists cannabis and hemp plants, seeds and unprocessed parts other than the flowers as deregulated; only the flower is a controlled herb. Importing seed is governed by the Department of Agriculture's rules. The guide does not address the sale of live plants.

context › planting › sources

tg25

Trinidad and Tobago countries/tt.yaml

sources

Dangerous Drugs (Amendment) Act, 2019 (Act No. 24 of 2019), Parliament of Trinidad and Tobago 3 unchanged

context › planting › seeds

legal

context › planting › seeds trade

banned

context › planting › clones

legal

context › planting › clones trade

banned

context › planting › text

The 2019 amendment defines cannabis to include the plant's seeds, other than sterilised seed that cannot germinate. Seeds therefore count towards the thirty grammes an adult may hold, and a person may grow or have up to four growing plants. Because seeds and plants are cannabis in law, supplying them falls under the trafficking offences.

context › planting › sources

act24

Taiwan countries/tw.yaml

sources

Narcotics Hazard Prevention Act — Laws & Regulations Database of the Republic of China (Taiwan) 3 unchanged

context › planting › seeds

illegal

context › planting › seeds trade

banned

context › planting › clones

illegal

context › planting › clones trade

banned

context › planting › text

The Narcotics Hazard Prevention Act names cannabis seeds directly. Possessing them carries up to one year in prison, possessing or transferring them with intent to sell up to two years, and transporting or selling them for cultivation at least two years (Articles 13 and 14). Growing the plant is a crime under Article 12, with one to seven years where the case is minor and for personal use.

context › planting › sources

moj

Ukraine countries/ua.yaml

segments › cultivation › sources

wiki, kupap

sources

Кодекс України про адміністративні правопорушення, Articles 44 and 106-2 (Verkhovna Rada) 4 unchanged

United States countries/us/index.yaml

sources

Law Offices of Omar Figueroa — DEA confirms that cannabis seeds, tissue culture and other genetic material are not necessarily controlled under the CSA (letter of 20 December 2022) Kight on Cannabis — DEA Seed Letter: Triumph or Trap? (13 April 2022) 6 unchanged

context › planting › seeds

grey

context › planting › seeds trade

open

context › planting › clones

grey

context › planting › clones trade

regulated

context › planting › text

The DEA said in letters of January and December 2022 that any seed, tissue culture or other genetic material with no more than 0.3% delta-9 THC meets the definition of hemp and is not federally controlled; once a seed grows into material above 0.3% it is marijuana under federal law. The letters do not mention clones, and a lawyer writing on the first letter warns that keeping a clone counts as growing, which federally needs a hemp licence. Whether a person may sow seeds or buy plants depends on state law.

context › planting › sources

dea, kight

South Africa countries/za.yaml

segments › possession › text

Adults 18+ may possess cannabis for private purposes, kept out of public view. The 2024 Act sets no gram limit itself and is not yet in force; draft regulations publishedgazetted on 32 February 2026 propose a cap of 750 g, at home or carried concealed in public. Until they are adopted, the right rests on the Constitutional Court's 2018 privacy ruling, with no fixed number.

Code, design and documents 1 file

src/pages/index.astro +36 −9
@@ -5,4 +5,5 @@ import Changes from "../components/Changes.astro";
 import { SEGMENTS, DATA_SNAPSHOT, REC_LABEL, REC_ORDER, REC_HELP, MED_LABEL, countries, regions, worldAvg, lastUpdated, formatDate, subunitsOf, places } from "../lib/countries.js";
 import { TIERS, tierColor } from "../lib/tiers.js";
+import { PLANTING_STATUS, PLANTING_TRADE } from "../lib/segment-ids.js";
 import { PRICE_MARKETS, PRICE_MARKET_LABEL, flatLatestPricesFor, latestPricesFor } from "../lib/prices.js";
 import { SHOW_PRICES } from "../lib/config.js";
@@ -16,5 +17,5 @@ const useNote = (c) => c.use.estimate
   : `${c.use.prevalence}% of people aged 15–64 used cannabis in the past year (${c.use.year} survey)`;
 const stats = [
-  [countries.length, "countries scored"],
+  [places.length, "territories scored"],
   [count((c) => c.raw >= 60), "reach the “Free” tier (60+)"],
   [count((c) => c.raw >= 40), "score 40+: legal to possess and grow, with limits"],
@@ -29,6 +30,6 @@ const MED_ORDER = ["yes", "limited", "no"];
 // `ratio` is the share of people who use cannabis divided by the index score: how far use runs
 // ahead of freedom. A score below 1 counts as 1, so that a zero does not divide.
-const mapData = places.map(({ id, num, name, flag, raw, score, rank, s, use }) =>
-  ({ id, num, name, flag, raw, score, rank, s, prices: SHOW_PRICES ? flatLatestPricesFor(id) : {}, use: { ...use, ratio: +(use.prevalence / Math.max(raw, 1)).toFixed(2) } }));
+const mapData = places.map(({ id, num, name, flag, raw, score, rank, s, use, planting }) =>
+  ({ id, num, name, flag, raw, score, rank, s, planting, prices: SHOW_PRICES ? flatLatestPricesFor(id) : {}, use: { ...use, ratio: +(use.prevalence / Math.max(raw, 1)).toFixed(2) } }));
 // States, provinces and territories of the federations, for the map's "show states" switch.
 // Keyed like the shapes in src/data/subunits.geo.json: "us/ca".
@@ -51,4 +52,10 @@ const PRICE_SCALE = {
   note: "Latest sourced flower price, normalised to US dollars per gram. Street and medical markets are kept separate.",
 };
+// Seeds and clones on the map: one option per field, coloured by the status' tone.
+const PLANTING_FIELDS = { seeds: "Seeds", seeds_trade: "Seed sales", clones: "Clones", clones_trade: "Clone sales" };
+// Each status gets its own step of the tier colours, so that no two legend entries look alike.
+const PLANTING_COLOR = { legal: 5, licensed: 4, grey: 3, illegal: 0, open: 5, regulated: 4, gift: 3, unclear: 2, banned: 0 };
+const plantingScale = (statuses) => Object.fromEntries(Object.entries(statuses).map(([k, v]) => [k, { label: v.label, color: `var(--t${PLANTING_COLOR[k]})` }]));
+const PLANTING_SCALES = { status: plantingScale(PLANTING_STATUS), trade: plantingScale(PLANTING_TRADE) };
 const streetFlower = (c) => latestPricesFor(c.id).street;
 ---
@@ -69,5 +76,5 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
         <div>
           <h2>World map</h2>
-          <p class="sub" id="mapSub" data-score="Red means prison risk, green means free. Select a country for its full breakdown." data-use="The stronger the blue, the more people use cannabis. Select a country for its full breakdown." data-ratio="The stronger the blue, the further cannabis use runs ahead of the freedom to use it. Select a country for its full breakdown." data-price="Pale yellow means cheaper, violet means more expensive. Countries without a sourced price are hatched.">Red means prison risk, green means free. Select a country for its full breakdown.</p>
+          <p class="sub" id="mapSub" data-score="Red means prison risk, green means free. Select a country for its full breakdown." data-use="The stronger the blue, the more people use cannabis. Select a country for its full breakdown." data-ratio="The stronger the blue, the further cannabis use runs ahead of the freedom to use it. Select a country for its full breakdown." data-price="Pale yellow means cheaper, violet means more expensive. Countries without a sourced price are hatched." data-planting="Green means legal or sold freely, red means illegal or banned. Hatched countries have not been researched yet. Not part of the score.">Red means prison risk, green means free. Select a country for its full breakdown.</p>
         </div>
         <label class="field">
@@ -80,4 +87,5 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
             <option value="ratio">Share of users ÷ index</option>
             {SHOW_PRICES && PRICE_MARKETS.map((market) => <option value={`price:${market}`}>{PRICE_MARKET_LABEL[market]} price</option>)}
+            {Object.entries(PLANTING_FIELDS).map(([field, label]) => <option value={`plant:${field}`}>{label}</option>)}
           </select>
         </label>
@@ -110,4 +118,11 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
           <span class="legend-note">{PRICE_SCALE.note}</span>
         </div>}
+        {Object.entries(PLANTING_SCALES).map(([key, scale]) => (
+          <div class="legend" data-legend={`plant-${key}`} hidden>
+            {Object.values(scale).map((v) => <span><i class="sw" style={`background:${v.color}`}></i>{v.label}</span>)}
+            <span><i class="sw sw-nodata"></i>Not researched yet</span>
+            <span class="legend-note">Seed and clone rules are shown for context and are not part of the score. States and provinces take their country's status.</span>
+          </div>
+        ))}
         <div class="map-under">
           <label class="map-toggle" title="Show the United States, Canada and Australia state by state">
@@ -226,4 +241,5 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
   <script type="application/json" id="cfi-use-scales" set:html={JSON.stringify(USE_SCALES)} />
   <script type="application/json" id="cfi-price-scale" set:html={JSON.stringify(PRICE_SCALE)} />
+  <script type="application/json" id="cfi-planting" set:html={JSON.stringify({ fields: PLANTING_FIELDS, scales: PLANTING_SCALES })} />
   <script type="application/json" id="cfi-segments" set:html={JSON.stringify(SEGMENTS.map((s) => s.name))} />
 
@@ -255,4 +271,10 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
     const isUse = () => metric in USE_SCALES; // coloured by cannabis use, not by a score
     const isPrice = () => metric.startsWith("price:");
+    const PLANTING = JSON.parse($("#cfi-planting").textContent);
+    const isPlant = () => metric.startsWith("plant:"); // coloured by a seed or clone status
+    const plantField = () => metric.split(":")[1];
+    const plantScale = (field) => PLANTING.scales[field.endsWith("_trade") ? "trade" : "status"];
+    const plantOf = (c, field = plantField()) => plantScale(field)[c.planting?.[field]];
+    const plantColor = (c) => plantOf(c)?.color ?? "url(#hatch)";
     const priceMarket = () => metric.split(":")[1];
     const priceOf = (c) => c.prices[priceMarket()];
@@ -287,5 +309,5 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
     function paintMap() {
       if (paths) {
-        paths.attr("fill", (d) => (d.id === "010" ? "var(--land)" : !d.c ? "url(#hatch)" : isPrice() ? priceColor(d.c) : isUse() ? useColor(d.c) : tierColor(metricValue(d.c))));
+        paths.attr("fill", (d) => (d.id === "010" ? "var(--land)" : !d.c ? "url(#hatch)" : isPlant() ? plantColor(d.c) : isPrice() ? priceColor(d.c) : isUse() ? useColor(d.c) : tierColor(metricValue(d.c))));
         // a federation's own shape steps aside while its states are shown
         paths.style("display", (d) => (showUnits && unitPaths && d.c && FEDERATIONS.has(d.c.id) ? "none" : null));
@@ -294,10 +316,10 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
         unitPaths.style("display", showUnits ? null : "none");
         // cannabis use is only known nationally, so a state takes its country's colour for those
-        unitPaths.attr("fill", (d) => (isPrice() ? priceColor(byId.get(d.u.country)) : isUse() ? useColor(byId.get(d.u.country)) : tierColor(metricValue(d.u))));
+        unitPaths.attr("fill", (d) => (isPlant() ? plantColor(byId.get(d.u.country)) : isPrice() ? priceColor(byId.get(d.u.country)) : isUse() ? useColor(byId.get(d.u.country)) : tierColor(metricValue(d.u))));
       }
-      const shown = isPrice() ? "price" : isUse() ? metric : "score";
+      const shown = isPlant() ? (plantField().endsWith("_trade") ? "plant-trade" : "plant-status") : isPrice() ? "price" : isUse() ? metric : "score";
       document.querySelectorAll("[data-legend]").forEach((el) => { el.hidden = el.dataset.legend !== shown; });
       const sub = $("#mapSub");
-      sub.textContent = isPrice() ? sub.dataset.price : metric === "ratio" ? sub.dataset.ratio : isUse() ? sub.dataset.use : sub.dataset.score;
+      sub.textContent = isPlant() ? sub.dataset.planting : isPrice() ? sub.dataset.price : metric === "ratio" ? sub.dataset.ratio : isUse() ? sub.dataset.use : sub.dataset.score;
     }
     $("#metric").addEventListener("change", (e) => { metric = e.target.value; paintMap(); });
@@ -350,5 +372,5 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
       const describe = (d) => {
         const c = d.c;
-        if (d.u && !isUse() && !isPrice()) {
+        if (d.u && !isUse() && !isPrice() && !isPlant()) {
           const u = d.u, home = byId.get(u.country);
           return `<strong>${home.flag} ${u.name}</strong>
@@ -358,4 +380,9 @@ const streetFlower = (c) => latestPricesFor(c.id).street;
         }
         if (d.u) return describe({ c: byId.get(d.u.country), properties: d.properties }) + `<div class="row"><span>${d.u.name}</span><b>national figure</b></div>`;
+        if (c && isPlant()) {
+          const rows = Object.entries(PLANTING.fields).map(([field, label]) =>
+            `<div class="row"><span>${label}</span><b>${plantOf(c, field)?.label ?? "—"}</b></div>`).join("");
+          return `<strong>${c.flag} ${c.name}</strong>${c.planting ? rows : `<div class="row"><span>Seeds and clones</span><b>Not researched yet</b></div>`}`;
+        }
         if (c && isPrice()) {
           const p = priceOf(c);

    ↑↓ to move, ↵ to open.