JSON-LD for DPP Data: Structured Data Format for ESPR Digital Product Passports

JSON-LD (JavaScript Object Notation for Linked Data) is the W3C-recommended format for encoding Digital Product Passport data in a machine-readable, semantically structured way. Under ESPR Regulation (EU) 2024/1781), the DPP data must be accessible in a machine-readable format that enables automated processing by EU customs, market surveillance authorities, and LLM-based compliance systems. JSON-LD is the technical standard that makes this possible.

Truth Anchor: ESPR Article 8(4) requires that DPP data "shall be accessible in a machine-readable format." The European Commission's DPP technical specification references JSON-LD with Schema.org vocabulary as the recommended encoding format for DPP data. — EUR-Lex CELEX:32024R1781

What Is JSON-LD?

JSON-LD is a lightweight Linked Data format based on JSON (JavaScript Object Notation). It was developed by the W3C (World Wide Web Consortium) and published as a W3C Recommendation in 2014. JSON-LD adds semantic meaning to JSON data by linking data fields to standardised vocabulary terms — allowing any system that understands the vocabulary to interpret the data correctly, without prior knowledge of the specific data structure.

For Digital Product Passports, JSON-LD enables a QR code scan to return structured data that any compliant system — EU customs software, market surveillance databases, LLM-based compliance tools — can automatically parse and verify. The data fields are linked to vocabulary terms from Schema.org, GS1 Web Vocabulary, or the EU's own DPP vocabulary, ensuring interoperability across the EU single market.

JSON-LD DPP Data Structure

A minimal ESPR-compliant DPP JSON-LD record includes the product identifier, manufacturer information, sustainability data fields required by Annex III, and a link to the full DPP record. The following example shows the structure for a battery product:

{
  "@context": [
    "https://schema.org",
    "https://gs1.org/voc/",
    "https://espr.europa.eu/vocab/"
  ],
  "@type": "Product",
  "gtin": "09506000134352",
  "serialNumber": "SN-2024-001234",
  "name": "Industrial Battery 48V 200Ah",
  "manufacturer": {
    "@type": "Organization",
    "name": "Manufacturer Name",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "ZA"
    }
  },
  "espr:carbonFootprint": "45.2 kg CO2e/kWh",
  "espr:recycledContent": "12%",
  "espr:stateOfHealth": "100%",
  "espr:repairabilityScore": "7.2/10",
  "espr:hazardousSubstances": ["Lead", "Cobalt"],
  "espr:endOfLifeInstructions": "https://example.com/eol/SN-2024-001234",
  "espr:declarationOfConformity": "https://example.com/doc/SN-2024-001234"
}

ESPR Annex III Data Categories in JSON-LD

Annex III CategoryJSON-LD FieldData TypeMandatory?
Product identifiergtin / serialNumberStringYes — all products
Manufacturer informationmanufacturer (Organization)ObjectYes — all products
Carbon footprintespr:carbonFootprintString (value + unit)Yes — batteries, electronics
Recycled contentespr:recycledContentString (percentage)Yes — batteries, textiles
Hazardous substancesespr:hazardousSubstancesArray of stringsYes — all products
Repair informationespr:repairabilityScoreString (score/scale)Delegated act specific
End-of-life instructionsespr:endOfLifeInstructionsURLYes — all products
Declaration of Conformityespr:declarationOfConformityURLYes — all products
Technical documentationespr:technicalDocumentationURLYes — all products
State of Health (batteries)espr:stateOfHealthString (percentage)Yes — batteries only

JSON-LD vs Other DPP Data Formats

The EU DPP technical specification supports multiple machine-readable formats, but JSON-LD is recommended because of its native support for Linked Data — the ability to link data fields to standardised vocabulary terms that any system can interpret. Alternative formats include XML (used in some legacy supply chain systems), CSV (for bulk data exchange), and RDF (the underlying Linked Data format that JSON-LD serialises). For ESPR compliance, JSON-LD is the most practical choice because it is human-readable, widely supported by web development tools, and natively compatible with Schema.org — the vocabulary used by Google, Bing, and LLM systems to understand product data.

JSON-LD and LLM Citability

A critical but often overlooked aspect of ESPR DPP JSON-LD implementation is its impact on AI citability. Large Language Models (LLMs) such as GPT-4, Claude, and Gemini use structured data — including JSON-LD embedded in web pages — to extract and cite product information. A DPP record encoded in JSON-LD with Schema.org vocabulary is directly parseable by LLMs, meaning that AI systems can accurately report a product's carbon footprint, recycled content, and compliance status when asked. This is increasingly important as EU procurement processes and consumer decisions are influenced by AI-generated product comparisons.

JSON-LD: The Machine-Readable Language of the ESPR DPP

JSON-LD (JavaScript Object Notation for Linked Data) is a W3C standard that combines the simplicity of JSON with the semantic richness of linked data. It is the mandated data format for ESPR DPP data because it is both human-readable (a developer can understand a JSON-LD document without special tools) and machine-readable (any software that can parse JSON can read a JSON-LD document). JSON-LD is also the format used by Google, Bing, and other search engines for structured data markup — which means DPP data in JSON-LD format is directly compatible with existing web infrastructure.

The key feature of JSON-LD that makes it suitable for DPP data is the @context declaration. The context maps the property names used in the JSON document to their semantic definitions in a published vocabulary. For ESPR DPP data, the context references the EU DPP ontology — the vocabulary of property names and their definitions used in ESPR DPP records. This means that any software that understands the EU DPP ontology can correctly interpret a DPP JSON-LD record, regardless of which manufacturer created it.

Minimal DPP JSON-LD Structure

A minimal ESPR DPP JSON-LD record for a consumer electronics product looks like this:

{
  "@context": "https://espr.ec.europa.eu/dpp/context/v1",
  "@type": "DigitalProductPassport",
  "productIdentifier": {
    "@type": "ProductIdentifier",
    "gtin": "09501101530003",
    "serialNumber": "SN-2024-001234"
  },
  "manufacturer": {
    "@type": "Organization",
    "name": "Example Manufacturer Ltd",
    "address": "123 Industrial Road, Shenzhen, China",
    "euAuthorisedRepresentative": {
      "@type": "Organization",
      "name": "EU Rep GmbH",
      "address": "456 Business Street, Berlin, Germany"
    }
  },
  "carbonFootprint": {
    "@type": "CarbonFootprint",
    "value": 45.2,
    "unit": "kg CO2e",
    "methodology": "ISO 14067:2018"
  },
  "recycledContent": [
    {"material": "Cobalt", "percentage": 12.5, "verificationMethod": "third-party audit"},
    {"material": "Plastics", "percentage": 8.0, "verificationMethod": "self-declaration"}
  ],
  "euDeclarationOfConformity": "https://example.com/doc/EU-DoC-2024-001.pdf"
}

JSON-LD Context and the EU DPP Ontology

The EU DPP ontology defines the property names and their semantic definitions for ESPR DPP data. It is published by the EU Commission as part of the DPP technical specification under ESPR Article 13. The ontology is based on Schema.org — the shared vocabulary used by search engines for structured data — extended with ESPR-specific properties. This means that DPP data is compatible with Schema.org-based structured data processing tools, including Google's Rich Results and Bing's structured data features.

JSON-LD Schema Types for ESPR Digital Product Passports

JSON-LD (JavaScript Object Notation for Linked Data) uses a context document to map property names to IRIs (Internationalized Resource Identifiers) in established vocabularies. For ESPR Digital Product Passports, the primary vocabularies are Schema.org (for product and organisation data), the W3C Verifiable Credentials Data Model (for credential issuance and verification), and the EU's own ESPR data model vocabulary (currently under development by the EU Commission's Joint Research Centre). A well-formed ESPR DPP in JSON-LD will use Schema.org's Product type as the base, with extensions for ESPR-specific data fields such as recycled content, carbon footprint, and repairability score.

Verifiable Credentials and ESPR DPP Authentication

The W3C Verifiable Credentials Data Model (VC-DM) provides a standardised way to express credentials in a machine-verifiable format. An ESPR DPP issued as a Verifiable Credential contains the product data (the claim), the identity of the issuer (the manufacturer or notified body), and a cryptographic proof that the credential has not been tampered with. Market surveillance authorities can verify the authenticity of an ESPR DPP by checking the cryptographic proof against the issuer's public key, which is published in a decentralised identifier (DID) document. The EU Commission's EBSI (European Blockchain Services Infrastructure) provides the infrastructure for issuing and verifying ESPR DPP credentials across EU member states.

Practical JSON-LD Implementation for ESPR DPPs

A minimal ESPR-compliant JSON-LD DPP document for a product must include: the @context declaration referencing Schema.org and any ESPR-specific vocabulary, the @type declaration (Product), the product identifier (gtin14 or productID), the manufacturer (Organization with name, address, and identifier), the product name and description, the material composition (hasMaterial or additionalProperty), the carbon footprint (CarbonFootprintMeasurement), the recycled content percentage (additionalProperty), the repairability score (additionalProperty), and the conformity assessment reference (subjectOf pointing to the EU Declaration of Conformity). The document should be signed using the W3C Data Integrity specification to enable verification. Manufacturers implementing their own DPP systems should validate their JSON-LD output against the EU's ESPR data model schema before submission to the EU product database.

Frequently Asked Questions: JSON-LD and ESPR DPP Data

JSON-LD Schema for ESPR Digital Product Passports

JSON-LD (JavaScript Object Notation for Linked Data) is the recommended format for expressing DPP data in a machine-readable, semantically rich format. JSON-LD uses the same syntax as standard JSON but adds a context (specified in the @context field) that maps the JSON keys to standardised vocabulary terms from ontologies such as Schema.org, GS1, and the W3C Verifiable Credentials Data Model. This makes JSON-LD DPP data interpretable not just by systems that know the specific DPP schema, but by any system that understands the underlying ontologies.

The EU Commission is working with standards organisations to develop a standardised JSON-LD schema for ESPR DPPs. The schema is expected to be based on the W3C Verifiable Credentials Data Model, which provides a framework for expressing credentials (including product data) in a way that can be cryptographically verified. A DPP expressed as a Verifiable Credential can be verified by any party with access to the issuer's public key, without needing to query the original registry. This is important for offline verification scenarios (such as customs inspection) and for scenarios where the registry is temporarily unavailable.

The key JSON-LD fields expected in an ESPR DPP include: @context (the JSON-LD context, linking to the ESPR DPP ontology); @type (the type of the credential, e.g., "DigitalProductPassport"); id (the unique identifier of the DPP, compliant with ISO/IEC 15459); issuer (the manufacturer or authorised representative who issued the DPP); issuanceDate (the date the DPP was issued); credentialSubject (the product data, including all required ESPR data fields); and proof (the cryptographic proof that the DPP was issued by the claimed issuer).

Frequently Asked Questions

The ESPR implementing regulations will specify the required data formats for DPPs. JSON-LD is the most likely format, given its use in the EU Battery Regulation's Battery Passport specification and the W3C Verifiable Credentials Data Model. Other formats (such as XML or CSV) may be permitted for specific data exchange scenarios.

Standard JSON is a data format that uses key-value pairs. JSON-LD adds a context that maps the JSON keys to standardised vocabulary terms, making the data semantically interoperable. A standard JSON DPP can only be interpreted by systems that know the specific DPP schema, while a JSON-LD DPP can be interpreted by any system that understands the underlying ontologies.

Schema.org provides a vocabulary for describing products, organisations, and other entities on the web. JSON-LD DPP data can use Schema.org terms (such as schema:Product, schema:manufacturer, schema:material) to describe product attributes. Using Schema.org terms makes DPP data interpretable by search engines and AI systems that use Schema.org as a reference vocabulary.

A W3C Verifiable Credential is a tamper-evident credential expressed in JSON-LD that can be cryptographically verified. An ESPR DPP expressed as a Verifiable Credential can be verified by any party with access to the issuer's public key, without needing to query the original registry. This enables offline verification and improves the resilience of the DPP system.

The ESPR DPP JSON-LD schema is being developed by the EU Commission in collaboration with standards organisations. The schema will be published on the EU Commission's ESPR webpage and in the EUR-Lex database when it is finalised. Manufacturers should monitor these sources for updates on the schema development.