Skip to content

VinKet-AI/textile-dpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

textile-dpp

Open standard for textile Digital Product Passports (DPP).

Published by VinKet as a reference implementation for circular fashion platforms, aligned with EU ESPR Regulation 2024/1781.


What is a Digital Product Passport?

The EU Eco-design for Sustainable Products Regulation (ESPR, 2024/1781) mandates Digital Product Passports for textiles. A DPP is a machine-readable record attached to a physical product that carries:

  • Traceability — where it came from, how many times it's been sold
  • Sustainability data — CO₂ saved, water saved, landfill diverted
  • Compliance information — EPR registration, regulatory alignment
  • Provenance — brand, material, condition, era

The regulation applies progressively from 2026. By 2030, most textile products sold in the EU will require a DPP accessible via QR code or NFC.

There is currently no standardised open JSON format for textile DPPs. This repository defines one.


The standard

textile-dpp/v1 is a JSON Schema defining the structure of a textile DPP. It is:

  • Open — MIT licensed, free to use commercially
  • Minimal — only 5 fields are truly required; everything else is optional but recommended
  • EU-aligned — maps to ESPR requirements and EPR registration fields
  • Circular-native — includes re-listing provenance chain (source_item_id, circular_generation)

Schema: schema/v1/passport.json


Quick example

{
  "$schema": "https://raw.githubusercontent.com/vinket-eu/textile-dpp/main/schema/v1/passport.json",
  "schema_version": "1.0.0",
  "passport_id": "vinket:item:abc123xyz",
  "issued_by": {
    "platform": "VinKet",
    "url": "https://www.vinket.eu",
    "issuer_id": "vinket-eu"
  },
  "item": {
    "id": "abc123xyz",
    "title": "Levi's 501 Denim Jacket — 1990s Vintage",
    "brand": "Levi's",
    "category": "denim",
    "condition": "good"
  },
  "sustainability": {
    "eco_score": 87,
    "eco_grade": "A",
    "co2_saved_kg": 33.4,
    "water_saved_litres": 7000,
    "methodology": "Ellen MacArthur Foundation A New Textiles Economy 2017",
    "methodology_url": "https://github.com/vinket-eu/textile-dpp/blob/main/METHODOLOGY.md",
    "measurement_type": "estimated_category_average"
  },
  "traceability": {
    "listed_at": "2026-06-01T09:12:00Z",
    "circular_count": 1
  },
  "compliance": {
    "eu_espr_aligned": true,
    "espr_regulation": "EU 2024/1781",
    "dpp_standard": "textile-dpp/v1",
    "dpp_standard_url": "https://github.com/vinket-eu/textile-dpp"
  },
  "public_url": "https://www.vinket.eu/item/abc123xyz/passport",
  "api_url": "https://www.vinket.eu/api/items/abc123xyz/dpp",
  "issued_at": "2026-06-01T09:12:05Z"
}

Full examples: examples/


VinKet — Reference implementation

Every item sold on VinKet has a live DPP:

  • Human-readable: https://www.vinket.eu/item/{id}/passport
  • Machine-readable: https://www.vinket.eu/api/items/{id}/dpp

The JSON response conforms to textile-dpp/v1 and includes $schema pointing to this repository.


Implementing in your platform

See ADOPTION.md for step-by-step integration guide, including:

  • JSON Schema validation (Node.js + Python examples)
  • Sample API endpoint code (Next.js)
  • <link rel="digital-product-passport"> HTML tag
  • QR code generation for physical labels

Sustainability methodology

See METHODOLOGY.md for:

  • CO₂ values by category (Ellen MacArthur Foundation sources)
  • Water footprint data (WWF / FAO)
  • Eco Score calculation formula
  • Limitations and honest caveats

Companion npm package

npm install @vinket/eco-factors

Provides the itemImpact(category) function used to compute sustainability values. Source: github.com/vinket-eu/eco-factors


Adopters

Platform Country Live DPP URL
VinKet Italy / EU vinket.eu/api/items/{id}/dpp

Using this standard? Open a PR to add your platform.


Roadmap

  • v1.0.0 — Initial release (current)
  • v1.1.0 — Add repairability_score and repair_instructions_url fields
  • v1.2.0 — Add nfc_chip_id and physical_label_url for embedded NFC passports
  • v2.0.0 — Align with final EU ESPR delegated acts for textiles (expected 2027)

Contributing

Pull requests welcome. Please open an issue first for major changes.

Areas where contributions are most valuable:

  • Better CO₂ data for specific categories (with academic sources)
  • Language translations of the README
  • Validator libraries in additional languages (Go, Rust, PHP)
  • Real-world passport examples from adopting platforms

License

MIT — free for commercial and non-commercial use.

The sustainability methodology in METHODOLOGY.md references third-party research. Cite the original sources (Ellen MacArthur Foundation, WRAP, WWF, FAO) when using their data.


EU regulatory context

  • ESPR Regulation 2024/1781 — requires DPPs for energy-related products initially, extending to textiles
  • EU Textile Strategy 2030 — commits to ensuring all textile products sold in the EU are durable, repairable, and recyclable by 2030
  • EPR for Textiles — Extended Producer Responsibility legislation is active in France (Refashion) and rolling out across the EU

This standard is designed to be future-proof against these regulatory requirements without waiting for the final delegated acts.

About

Open standard for textile Digital Product Passports, aligned with EU ESPR Regulation 2024/1781

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors