ResumeSpec is an open standard for representing professional identity as structured, portable, machine-readable data. It defines the model, semantics, JSON Schema contract, examples, and a reference implementation without tying identity to any single visual format or vendor workflow.
Professional information is usually fragmented across CVs, portfolios, LinkedIn, ATS platforms, job systems, databases, and proprietary APIs. ResumeSpec starts from a different assumption: one structured identity should be able to produce many representations without losing meaning.
Document layouts optimized for hiring workflows and human review.
Platform profiles that reflect the same career facts in a different surface.
Curated public pages that emphasize projects, links, and evidence.
Systems that consume structured, deterministic professional identity data.
ResumeSpec does not replace downstream formats. It gives them a common source of truth. The ecosystem can then render, validate, or consume the same identity in different ways.
ResumeSpec
│
▼
Structured professional identity
│
├─ JSON
├─ YAML
└─ XML
│
▼
Validators / parsers / tools
│
▼
Resumes / portfolios / ATS / APIs / AIResumeSpec is defined as data, not presentation. The schema makes structure explicit and reproducible.
JSON is the canonical v1 format and the authoritative machine-readable contract is the JSON Schema.
The Python reference implementation can parse YAML as a secondary format for convenience.
XML parsing is supported by the reference implementation and hardened with `defusedxml`.
ResumeSpec is open source, versioned, and contribution-friendly. The release is published on GitHub and the standard is designed to evolve without collapsing into a product-specific format.
ResumeSpec is being built as an open standard. Contributions are welcome across the spec, examples, implementation, tests, and documentation.