Skip to main content

Welcome to PackageURL.org

A simple, consistent, and flexible approach for identifying software packages with precision and clarity.

Software ecosystems have evolved into highly interconnected networks of components, packages, and dependencies. Managing this complexity demands a robust, uniform mechanism to identify and track software packages across diverse ecosystems and tools. Package-URL (PURL) was developed to address this challenge by providing a simple, consistent, and flexible approach to identifying software packages with precision and clarity.

PURL introduces a standardized URL-based syntax that uniquely identifies software packages, independent of their ecosystem or distribution channel. Unlike traditional identification methods, PURL embeds critical metadata directly into its structure, enabling efficient, accurate package identification at scale. This standardization ensures interoperability between tools and ecosystems, fostering greater collaboration and reducing ambiguity in software supply chain management.

Challenges addressed by PURL:

  • Ambiguity in Package Identification: With diverse naming conventions across ecosystems, identifying software packages reliably has historically been a challenge. PURL eliminates this ambiguity by creating a universal identifier with a predictable structure.
  • Cross-Ecosystem Interoperability: Developers, organizations, and tools often work across multiple ecosystems, each with its own package management systems. PURL harmonizes these differences, enabling seamless interoperability.
  • Enhanced Traceability and Risk Management: In an era where supply chain security is critical, PURL provides the foundation for identifying and tracing packages to their origins, dependencies, and potential vulnerabilities.
  • Tooling and Automation: By standardizing package identification, PURL simplifies tooling development, automation, and integration for tasks such as software composition analysis, vulnerability management, and license compliance.

As software supply chain security becomes a global priority, formalizing PURL as an international standard ensures its adoption and consistent implementation. Standardization under Ecma International Technical Committee 54 (TC54) positions PURL as a foundational building block for secure, transparent, and efficient software ecosystems worldwide.

By enabling a universally recognized and implementable specification, PURL aligns with global efforts to improve the security, reliability, and accountability of software supply chains. Its adoption ensures that organizations and developers can rely on a common language to manage software packages across the diverse and rapidly evolving software landscape.

Software Tools

These are community-maintained tools that support or use the Package-URL (PURL) or VERS standards.

andrew/vers

A Ruby gem for parsing, comparing and sorting versions according to the VERS spec.
  • Base language: Ruby
  • License: MIT
  • Functions: compare, parse, sort

Bulletproof Trust

A software assurance platform to measure risk and detect threats in critical open-source supply chains.
  • Base language: n/a
  • License: n/a
  • Functions: consume, transform

Common Security Advisory Framework (CSAF)

A language to exchange Security Advisories
  • Base language: n/a
  • License: n/a
  • Functions: n/a

CycloneDX

A lightweight software bill-of-material (SBOM) specification
  • Base language: n/a
  • License: Apache-2.0
  • Functions: n/a

Dependency-Track

Open source component analysis platform
  • Base language: Java
  • License: Apache-2.0
  • Functions: n/a

Ecosyste.ms

Indexes and analyzes open source packages, ecosystems, and their dependencies.
  • Base language: n/a
  • License: AGPL-3.0-only, CC-BY-SA-4.0
  • Functions: n/a

erlef/purl

Implementation of the purl (package url) specification.
  • Base language: Erlang, Elixir
  • License: Apache-2.0
  • Functions: n/a

GitHub Dependency Submission API

Allows third-party tools to submit dependency data to GitHub for inclusion in a repository's dependency graph.
  • Base language: n/a
  • License: n/a
  • Functions: n/a

nscuro/versatile

Java implementation of vers, a mostly universal version range specifier
  • Base language: Java
  • License: Apache-2.0
  • Functions: n/a

OSS Index

A free catalog of Open Source Components and scanning tools to help developers identify vulnerable components
  • Base language: n/a
  • License: n/a
  • Functions: n/a

OSS Review Toolkit

A suite of tools to assist with automating Open Source compliance checks.
  • Base language: Kotlin
  • License: n/a
  • Functions: n/a

OSV.dev

Open Source Vulnerability Schema and distributed vulnerability database
  • Base language: n/a
  • License: n/a
  • Functions: n/a

--

n/a
  • Base language: n/a
  • License: n/a
  • Functions: n/a

Sonatype Lifecycle

Enterprise grade Open Source component management
  • Base language: n/a
  • License: n/a
  • Functions: n/a

ZEN SecDB

A security intelligence platform providing unified access to vulnerabilities, advisories, and exploit data across ecosystems, leveraging PURL for consistent package identification.
  • Base language: n/a
  • License: n/a
  • Functions: n/a

General Information

Community call

Join our next PURL community call on 2025-11-26 to discuss the status of the PURL standard submission to Ecma.

The schedules for the PURL community and TC54-TG2 calls are available at OWASP Software Supply Chain Community Calendar.

Releases

Release 1.0.0

Coming soon . . .