QR-koden på et Digitalt Produktpas ligner enhver anden sort-hvid firkant. Det er den ikke. Den skal bære et GS1 Digital Link, overleve at blive trykt småt på et buet, ridseudsat produkt og pålideligt lede til passet i hele produktets levetid. Her er, hvad der faktisk betyder noget, når du genererer en — de dele, som de fleste artikler om "DPP-QR-koder" springer over.
Det er et GS1 Digital Link, ikke en almindelig URL
En DPP-QR koder en struktureret GS1-URL, ikke example.com/product/123:
https://id.gs1.org/01/04019999999902/21/DEMO-BAT-01
01 er GTIN, 21 serienummeret. Ethvert kamera åbner det; en resolver returnerer den rette repræsentation pr. kalder (se GS1 Digital Link Resolver, forklaret). Peg din QR mod din resolver, og GTIN/serienummer forbliver stabile for evigt.
Fejlkorrektionsniveau: vælg Q eller H til produkter
QR-koder har fire fejlkorrektionsniveauer — jo højere, desto mere af symbolet kan beskadiges og stadig scannes:
| Niveau | Genopretning | Bruges til et DPP? |
|---|---|---|
| L | ~7 % | Nej — for skrøbeligt på fysiske produkter |
| M | ~15 % | Kun web/skærm |
| Q | ~25 % | Ja — etiketter, emballage |
| H | ~30 % | Ja — små, buede eller hårdt belastede produkter |
En pasetiket kan blive ridset, bøjet rundt om en battericelle eller delvist slidt. Brug Q eller H, så den stadig scanner efter et år i felten. Højere korrektion betyder et tættere symbol, så afvej det mod trykstørrelsen.
Stilleområde og minimumstrykstørrelse
- Stilleområde: hold en fri margin på mindst 4 moduler rundt om symbolet. Ingen logoer, ingen tekst deri.
- Minimumsstørrelse: tommelfingerregel — modulstørrelsen bør være ≥ 0,33 mm for nærscanninger med telefon; større, hvis der scannes på afstand. På en typisk 300 DPI-etiketprinter svarer det groft til et 2 × 2 cm-symbol for et Digital Link med serienummer — verificer med din værst tænkelige scanner og belysning.
Dynamisk, ikke statisk — ellers er det ikke compliant
En statisk QR brænder dataene ind i symbolet. Et DPP's data ændrer sig over produktets levetid (CO2-aftryk genmålt, mål for genanvendt indhold nået, reparationsinfo opdateret). Hvis dataene er brændt ind, kan du ikke opdatere dem uden at genoptrykke hver eneste etiket — og et forældet produktpas er ikke compliant.
Derfor skal en DPP-QR være dynamisk: den bærer en stabil resolver-URL (uforanderlig GTIN/serienummer), og dataene bag den opdateres via API. Tryk én gang, opdater for evigt.
Generér en trykklar DPP-QR (kode)
Oprettelse af et pas returnerer QR'en i fire formater — intet separat QR-trin:
import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: process.env.QR3_API_KEY! });
const passport = await client.dpp.create({
gtin: "04019999999902",
serial: "SN-00012345",
product_name: "PowerCell 5 kWh LFP",
manufacturer: "ExampleTech GmbH",
origin_country: "DE",
category: "battery",
battery_data: { capacity_kwh: 5, carbon_footprint_kg: 62, recycled_content_pct: 12, recyclability_pct: 95, manufacturer_warranty_years: 8 },
});
console.log(passport.qr.svg); // vektor — skalerer til enhver etiketstørrelse, ingen pixelering
console.log(passport.qr.pdf); // CMYK-PDF til tryk
// qr.png til web, qr.eps til professionelle etiketprintere
Brug SVG eller EPS til etiketter (vektor overlever enhver skalering); PNG til web. QR'en koder allerede GS1 Digital Link til passet.
Bittesmå produkter: GS1 Data Matrix
Når der ikke er plads til en QR (små elektronikkomponenter, smykker), bærer en GS1 Data Matrix det samme Digital Link på mindre plads og understøttes af de samme standarder. Samme URL, mindre symbol.
FAQ
Kan jeg tilføje mit logo i midten? Ja, inden for fejlkorrektionsbudgettet — på niveau Q/H kan et lille centreret logo genoprettes. Hold stilleområdet frit og testscan.
Indeholder QR'en selve produktdataene? Nej — den indeholder GS1 Digital Link. Dataene ligger bag resolveren og forbliver opdaterbare. Det er det, der gør passet holdbart.
SVG vs. PNG til etiketter? SVG/EPS (vektor) til alt, der trykkes — det skalerer rent til enhver størrelse. PNG kun til web i fast størrelse.
Kilder
Start gratis og generér en trykklar DPP-QR: app.qr3.app/sign-up