What Is the EU Digital Product Passport?
The EU Digital Product Passport (DPP) is a central element of the European Ecodesign for Sustainable Products Regulation (ESPR). Starting 2027, batteries must carry a DPP — more product categories (textiles, electronics, steel) will follow by 2030.
The DPP is designed to make the following information machine-readable and accessible to all market participants:
- Material composition (raw materials, recycled content)
- Manufacturing process and carbon footprint
- Repairability and spare part availability
- Disposal routes and recycling information
- Compliance certificates and certifications
How Does the DPP Work Technically?
The DPP isn't a new file format — it leverages existing standards:
GS1 Digital Link URI
The QR code on the product encodes a GS1 Digital Link:
https://id.gs1.org/01/09521234543213/21/12345678?linkType=gs1:productDataSheet
├── resolver ├── GTIN (01) ├── serial (21) └── link type
When someone scans this QR code, they're redirected to the GS1 resolver, which returns the appropriate landing page or API — depending on linkType and context (consumer vs. authority vs. recycling facility).
Data Structure (Simplified)
{
"@context": "https://gs1.org/voc/",
"@type": "Product",
"gtin": "09521234543213",
"productName": "Lithium-Ion Battery 5000mAh",
"brand": "ExampleTech GmbH",
"manufacturingDate": "2026-01",
"batteryChemistry": "LFP",
"carbonFootprint": {
"value": 12.4,
"unit": "kg CO2e per kWh"
},
"recyclabilityRate": 0.95,
"documents": [
{
"type": "gs1:productDataSheet",
"url": "https://example.com/datasheet/battery-5000.pdf"
}
]
}
What Do You Need to Do as a Manufacturer?
1. Register a GTIN for Every Product
Each product needs a unique Global Trade Item Number (GTIN). You obtain these through GS1 or your national GS1 organization.
2. Prepare and Host DPP Data
Product data must be accessible via a secured API. You can:
- Host your own DPP endpoint (
GET /products/{gtin}) - Use a third-party provider like qr3.app as a resolver
- Register directly with the GS1 resolver
3. Generate and Apply QR Code
The QR code must contain the complete GS1 Digital Link:
import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: process.env.QR3_API_KEY! });
// Create GS1 Digital Link
const gtin = "09521234543213";
const serial = "BATCH2026001";
const gs1Url = `https://id.gs1.org/01/${gtin}/21/${serial}`;
const { data: code } = await client.codes.create({
type: "url",
url: gs1Url,
title: `DPP – Battery ${gtin}`,
is_dynamic: true, // For product data updates
tags: ["dpp", "battery", gtin],
});
// Download SVG QR code (for label printing)
const svgUrl = code.image_svg_url + "?size=8";
qr3.app DPP Features
qr3.app includes a built-in GS1 Digital Link Parser:
// Parse GS1 Digital Link
const { data: parsed } = await client.dpp.parseGS1Link(
"https://id.gs1.org/01/09521234543213/21/12345678"
);
console.log(parsed.gtin); // "09521234543213"
console.log(parsed.serial); // "12345678"
console.log(parsed.ais); // { "01": "09521234543213", "21": "12345678" }
Validate DPP Schema
// Validate product data against DPP schema
const { data: validation } = await client.dpp.validate({
gtin: "09521234543213",
productData: {
productName: "Lithium-Ion Battery",
batteryChemistry: "LFP",
carbonFootprint: { value: 12.4, unit: "kg CO2e per kWh" },
},
});
if (!validation.valid) {
console.error(validation.errors);
// ["carbonFootprint.value must include manufacturing data"]
}
Timeline and Affected Products
| Date | Affected Categories |
|---|---|
| Q3 2027 | Industrial batteries ≥ 2kWh, EV batteries |
| 2028 | Light-transport batteries (e-bikes, e-scooters) |
| 2028-2030 | Textiles, electronics, steel products |
| 2030 | Construction products, furniture |
Important: Requirements vary by product category. Always consult the latest ESPR implementing acts.
Conclusion: Prepare Now
The DPP is coming — and the technical implementation is complex. qr3.app takes care of the QR code infrastructure for you: create compliance-ready GS1 Digital Links, keep product data current via the API, and use analytics to see who scans your product QR codes.
Start for free and test the DPP features: app.qr3.app/sign-up