Digital Product Passport for WooCommerce
Digital Product Passport for WooCommerce

Digital Product Passport for WooCommerce

0/5 (0 ratings) — active installs Updated Sep 10, 2026
Digital Passport tab in WooCommerce product editor — with completeness bar

Digital Passport tab in WooCommerce product editor — with completeness bar

Digital Product Passport for WooCommerce adds the product data the EU Ecodesign for Sustainable Products Regulation (ESPR / EU 2024/1781) asks for, and publishes it three ways: as a passport people can open on the product page, as a QR code that links to it, and as JSON-LD a machine can read through the REST API.

Starting in 2025, the ESPR regulation requires many product categories sold in the EU to carry a Digital Product Passport covering sustainability, material composition, repairability, and end-of-life information. This plugin helps you meet those requirements today.

Key Features

  • Full ESPR / EU 2024/1781 Compliance — all mandatory data fields included
  • QR Code Generation — one code per product, generated inside the plugin as SVG. No external service, no API key, nothing leaves the site
  • GS1 Digital Link — QR codes follow the /01/{gtin}/21/{serial} standard
  • JSON-LD Structured Data — schema.org + W3ID DPP ontology (https://w3id.org/dpp/)
  • REST API — GET /wp-json/dpp/v1/passport/{id} with HTTP caching headers
  • Tab or Button Display — show the passport in a product tab or via a modal button
  • Completeness Score — live progress bar showing how complete each passport is
  • WooCommerce HPOS Ready — compatible with High Performance Order Storage
  • Cart & Checkout Blocks — full Block Editor compatibility declared
  • Fully Translatable — all strings use the digital-product-passport-for-woocommerce text domain

Passport Data Fields

Identity & Traceability
– GTIN / EAN-13 barcode
– Serial number & batch number
– Brand name & manufacturer name
– Manufacturer address
– Production country & production date

Sustainability & Environmental Impact
– Carbon footprint (kg CO₂eq) + measurement methodology
– Energy efficiency class (A+++ to G)
– Material composition (name, % weight, % recycled content)
– Recyclability percentage
– Recycling instructions / end-of-life info

Repairability & Durability
– Repairability index (0–10)
– Spare parts availability & availability period
– Durability / expected lifespan (years)
– Warranty duration (months)
– Repairability documentation available (yes/no)

Compliance
– Substances of concern (REACH / RoHS)
– Applicable regulation reference
– Compliance document URL

Free add-on

Nothing in this plugin is locked or limited. Everything described above works, for every
product, with no key and no account.

A separate add-on, also free, adds work that only larger catalogues need. It is a second
plugin you download from us; this one does not change when you install it, it simply
finds it:

  • Analytics Dashboard — track passport views per product with Chart.js charts
  • PDF Passport Export — print-optimized HTML passport with your branding
  • Bulk Passport Editor — edit all products in a spreadsheet-like grid
  • CSV & JSON Import/Export — migrate data or sync with external systems
  • Email Notifications — notify admins on passport updates + weekly digest reports
  • ACF Integration — sync Advanced Custom Fields with passport data
  • WPML & Polylang Support — multilingual passport data
  • Branded PDFs — custom logo, company name, and accent color in exports

Developer Hooks

Actions

  • dpp_passport_saved( $product_id ) — fired after passport data is saved
  • dpp_passport_viewed( $product_id ) — fired when a passport is viewed (used by Pro analytics)
  • dpp_passport_content_end( $product_id ) — fired at the end of passport content (used by Pro PDF button)
  • dpp_before_passport_display( $product_id ) — before passport HTML output
  • dpp_after_passport_display( $product_id ) — after passport HTML output

Filters

  • dpp_passport_data( $data, $product_id ) — modify passport data array before display
  • dpp_json_ld_output( $json_ld, $product_id ) — modify JSON-LD structured data
  • dpp_qr_code_url( $url, $product_id ) — modify QR code URL
  • dpp_rest_passport_response( $response, $product_id ) — modify REST API response

REST API

  • GET /wp-json/dpp/v1/passport/{id} — passport by product ID
  • GET /wp-json/dpp/v1/passport/gtin/{gtin} — passport by GTIN
  • GET /wp-json/dpp/v1/passports?search={term}&per_page={n} — search passports (max 100)

Support