Cannabis Freedom Index

Changelog 05b56bctree

Use current fine currencies and preserve statutory cents (#254, #255, #258, #259)

Refs #254 Refs #255 Refs #258 Refs #259

4 country profiles edited2 files of code, design or docs +159 −84 lines

Countries and states 4 files

Bulgaria countries/bg.yaml

summary

A 'high-risk' drug: one to six years for possession, with a fine of up to 1,000 leva€511.29 for minor cases that still counts as a conviction.

segments › possession › text

Cannabis is a class A 'high-risk' drug, grouped with heroin and cocaine. Possession[@wiki] Ordinary possession carries one to six years in prison and a fine of up to 10€1,000 leva under Article 354a of the Penal Code022. For '58–5,112.92; a minor cases'case carries a separate provision allows a fine of up to 1€511.29,000 leva instead — still a criminal conviction.[@code, not an administrative penaltyeurolaw,euro2026] These are the legacy BGN2,000–10,000 and BGN1,000 tariffs, converted at BGN1.95583 per euro and rounded to cents.[@code,eurolaw,euro2026]

segments › possession › sources

wiki, drcode, nr2007eurolaw, euro2026

segments › possession › currency

BGNEUR

segments › possession › penalties

label Possession of a high-risk drug · treatment criminal · fine 100005112.92 · prison min 1 year · prison 6 years · note One to six yearsPrison and a fine of 2; legacy BGN tariff converted at the official rate · fine min 1022.58,000 to 10,000 leva (Penal Code article 354a), label Minor possession case · treatment criminal · fine 1000511.29 · note A fine of up to 1,000 levaFine instead —of prison; still a criminal conviction

context › recreational › text

There is no legal recreational supply. Cannabis is a class A high-risk drug with heroin and cocaine: possession brings one to six years and up to 10€5,000 leva112.92, or up to 1,000 leva€511.29 in minor cases — still a criminal conviction.[@wiki,dr,nr2007] Most small cases end in th … rm is a political taboo.[@dr] Distribution brings two to eight years or more.[@wiki,dr14] Euro amounts apply the 2026 conversion at BGN1.95583 per euro and statutory cent rounding.[@euro2026,eurolaw]

context › recreational › sources

wiki, dr, nr2007, dr14, euro2026, eurolaw

context › medical › text

No medical cannabis programme — unlike neighbouring Greece and Romania, there is not even a law on paper. A doctor who prescribes cannabis faces up to five years in prison and a fine of up to 3€1,000 leva533.88. In October 2015 the national drugs council declared that Bulgaria had no need for medical marijuana, and since June 2016 licences for cannabis may be issued only for medical research.[@wiki,cmsg,dr16] Euro amounts apply the 2026 conversion at BGN1.95583 per euro and statutory cent rounding.[@euro2026,eurolaw]

context › medical › sources

wiki, cmsg, dr16, euro2026, eurolaw

context › driving › text

Driving after using drugs is an offence in itself, with no level set: police use a roadside test for seven drugs, marijuana among them, and a positive result opens criminal proceedings. Since July 2023 the fine is €511.29–2,556.46, €1,000 to 022.58–5,000 leva, 2,000 to 10,000112.92 for a repeat, and refusing a test after an accident brings up to a year in prison. The car is confiscated if the driver owns it, a rule the Constitutional Court upheld in July 2025.[@ccee22,sg23,bnr25] Euro amounts apply the 2026 conversion at BGN1.95583 per euro and statutory cent rounding.[@euro2026,eurolaw]

context › driving › sources

ccee22, sg23, bnr25, euro2026, eurolaw

context › visitors › text

There is no legal recreational supply for anyone. Possession carries one to six years in prison and a fine of up to 10€5,000 leva112.92 under Article 354a of the Penal Code, with a fine alone possible in minor cases.[@dr,nr2007,wiki] Euro amounts apply the 2026 conversion at BGN1.95583 per euro and statutory cent rounding.[@euro2026,eurolaw]

context › visitors › sources

dr, nr2007, wiki, euro2026, eurolaw

sources

European Central Bank — Bulgaria introduces the euro, 1 January 2026 Bulgaria — Euro Introduction Act, consolidation through 30 December 2025 Bulgaria — Penal Code, current consolidation reproduced by Lex.bg 19 unchanged

Curaçao countries/cw.yaml

segments › possession › text

Possession of cannabis or resin is prohibited. For intentional offences the statute permits life imprisonment, a fixed term up to 24 years, a fine up to NAfCg 6.25 million, or the fixed term and fine together.[@law] Prosecutors’ guidance is much milder: confiscation and a potentially conditional dismissal in the 0–25 g band, and a fine request up to NAfCg 500 in the 25–50 g band. Exceptions include minors, repeat offending, dealing indications, another offence and specified settings such as carnival parades or workplaces.[@guide] The older law and prosecution guidance state amounts in Netherlands Antillean guilders; the Caribbean guilder replaced that currency one for one in 2025.[@currency2025]

segments › possession › sources

law, guide, currency2025

segments › possession › currency

ANGXCG

segments › possession › penalties

upto 25 g · treatment criminal · note Prosecution guidance — confiscation and a potentiall … bel 25 to 50 g · treatment criminal · fine 500 · note Prosecutors request a fine of up to NAfCg 500, subject to exceptions, label Intentional possession (statutory maximum) · treatment criminal · fine 6250000 · prison 24 years · note Life imprisonment, a fixed term of up to 24 years, a fine of up to NAfCg 6.25 million, or term and fine together; statute retains far higher maxima than the guidance

context › recreational › text

There is no legal recreational supply. Prosecutors confiscate and may conditionally dismiss the 0–25 g band, and request a fine of up to NAfCg 500 in the 25–50 g band — but the statute still permits life imprisonment, 24 years or a NAfCg 6.25 million fine, and the guidance does not apply to minors, repeat or dealing-indicated cases, or settings like carnival parades.[@guide,law] The older law and prosecution guidance state amounts in Netherlands Antillean guilders; the Caribbean guilder replaced that currency one for one in 2025.[@currency2025]

context › recreational › sources

guide, law, currency2025

sources

Central Bank of Curaçao and Sint Maarten — Caribbean guilder FAQ 4 unchanged

Croatia countries/hr.yaml

summary

Possession for personal use has been a misdemeanour since 2013. The penalty is a fine of 5,000€663.61 to 20€2,000 kuna654.46, or up to 90 days' detention. Medical cannabis is prescribable since 2015.

segments › possession › text

Since 1 January 2013 possession of a, small-amount possession for personal use is a misdemeanour, not a crime.[@wiki] Article 54(3) of the drug-abuse act, as amended in 2019, punishesprovides a natural person with a fine of 5or up to 90 days’ detention; the legacy HRK5,000 to –20,000 kuna (about €650fine converts to €663.61–2,650) or with up to 90 days' detention654. The consolidated text still states46 under the fine in kunaEuro Introduction Act. No[@zszd,nn39,eurocourt] There is no fixed gram threshold; courts assess personal use.[@wiki] Possession had been a crime from April 1996 until 2013, with a fine or up to a year in prison.[@tripalo,wiki]

segments › possession › sources

zszd, nn39, wiki, tripalo, eurocourt

segments › possession › currency

HRKEUR

segments › possession › penalties

label Small amount for personal use (misdemeanour since 2013) · treatment civil · fine 200002654.46 · prison 90 days · note Fine of 5,000–20,000 kuna or up to 90 days' detention; no fixed gram threshold · fine min 663.61

segments › enforcement › text

A userPersonal possession can be fined 5bring a €663.61–2,000 to 20,000 kuna654.46 fine or detained for up to 90 days’ detention.[@zszd,eurocourt] Growing and dealing areremain crimes under Article 190 of the Criminal Code, with prison terms starting at six months for production and three years for sale.[@kz]

segments › enforcement › sources

zszd, kzeurocourt, wikikz

segments › consumption › text

Use is handled under the same misdemeanour as possession: a fine of 5€663.61–2,000 to 20,000 kuna654.46 fine or up to 90 days'’ detention.[@zszd,eurocourt] Tourists are regularly fined in summer.[@wiki]

segments › consumption › sources

zszd, wiki, eurocourt

context › recreational › text

There is no legal recreational supply. Since 2013 small-amount personal possession is a misdemeanour, not a crime: 5,000–20,000 kuna (about €650663.61–2,650)654.46 or up to 90 days' detention, with no fixed gram threshold — courts assess personal use.[@ … inal: six months to five years, or three to twelve where the drug is meant for sale.[@kz] The euro range follows the domestic court’s application of the conversion law.[@eurocourt]

context › recreational › sources

zszd, nn39, wiki, kz, eurocourt

context › visitors › text

There is no legal recreational supply for anyone, so a visitor has no lawful way to buy cannabisvisitors. Possessing a drug[@pp] Possession is the same misdemeanourtreated as for a residentresidents: a fine of 5€663.61–2,000 to 20,000 kuna654.46 fine or up to 90 days'’ detention under the misdemeanour provision.[@zszd,eurocourt]

context › visitors › sources

pp, zszd, wiki, ppeurocourt

sources

Municipal Court in Rijeka — Pp-586/2024-6 19 unchanged

Sint Maarten countries/sx.yaml

segments › possession › text

Possessing cannabis is prohibited under the Opium Ordinance.[@law] The prosecution guideli … s or government buildings.[@guideline] The next 25–50 g band has a proposed fine of up to NAfCg 500.[@guideline] The older law and prosecution guidance state amounts in Netherlands Antillean guilders; the Caribbean guilder replaced that currency one for one in 2025.[@currency2025]

segments › possession › sources

law, guideline, currency2025

sources

Central Bank of Curaçao and Sint Maarten — Caribbean guilder FAQ 4 unchanged

Code, design and documents 2 files

src/components/PenaltyTable.astro +2 −2
@@ -2,8 +2,8 @@
 // A segment's penalty steps as a plain table (src/lib/penalties.js), under its text on a country's or
 // a state's page. `penalties` is { rows, currency, summary }.
-import { TREATMENT, punishmentText, punishmentExtra } from "../lib/penalties.js";
+import { TREATMENT, punishmentText, punishmentExtra, formatFine } from "../lib/penalties.js";
 const { penalties } = Astro.props;
 // a fine in the profile's currency: "€5,500", "$300"
-const money = (n) => new Intl.NumberFormat("en-GB", { style: "currency", currency: penalties.currency, maximumFractionDigits: 0 }).format(n);
+const money = (n) => formatFine(n, penalties.currency);
 const fine = (r) => (r.fine && r.fineMin ? `${money(r.fineMin)} – ${money(r.fine)}` : r.fine ? `Up to ${money(r.fine)}` : r.fineMin ? `At least ${money(r.fineMin)}` : "—");
 ---

src/lib/penalties.js +11 −0
@@ -16,4 +16,15 @@ const GRAMS = { g: 1, kg: 1000, oz: 28.3495, lb: 453.592 };
 const DAYS = { day: 1, week: 7, month: 30, year: 365 };
 
+// Keep statutory cents after currency conversion; whole-number fines stay compact.
+export function formatFine(value, currency) {
+  const formatter = new Intl.NumberFormat("en-GB", {
+    style: "currency", currency, minimumFractionDigits: 0,
+    maximumFractionDigits: Number.isInteger(value) ? 0 : 2,
+  });
+  return currency === "XCG"
+    ? formatter.formatToParts(value).map((part) => part.type === "currency" ? "Cg" : part.value).join("")
+    : formatter.format(value);
+}
+
 // "1 oz" → { value: 1, unit: "oz", grams: 28.35 }; "5 plants" → { value: 5, unit: "plants", plants: 5 }
 export function parseAmount(text) {

    ↑↓ to move, ↵ to open.