Open standard for machine-readable resumes in PDF
Website • Getting Started • Try the Tools
A VitaeFlow PDF looks like any normal resume to a human reader, but it also contains structured JSON data that ATS, job boards, and HR tools can extract instantly — no parsing heuristics, no guessing.
Resume PDF + Structured JSON → .vf.pdf
(visual) (machine-readable) (both)
The .vf.pdf suffix is recommended for discoverability, but not required.
VitaeFlow embeds a JSON file inside the PDF using the PDF/A-3 standard — the same mechanism used by Factur-X for electronic invoices. The PDF remains readable by any viewer. Tools that understand VitaeFlow extract the data; others simply ignore it.
| Repository | Description | |
|---|---|---|
| vitaeflow-spec | JSON schema and PDF embedding standard | |
| vitaeflow-js | JavaScript/TypeScript SDK — validate, embed, extract | |
| vitaeflow-cli | Command-line tool | |
| vitaeflow-web | Website and interactive tools | vitaeflow.org |
npm install @vitaeflow/sdkimport { embedResume, extractResume } from '@vitaeflow/sdk';
// Embed structured data into a PDF
const vfPdf = await embedResume(pdfBytes, {
version: '0.1',
profile: 'standard',
basics: { givenName: 'Marie', familyName: 'Laurent', email: 'marie@example.com' },
});
// Extract it back
const result = await extractResume(vfPdf);
console.log(result.resume.basics.givenName); // "Marie"VitaeFlow is open source and contributions are welcome. Check out the individual repos above or open a discussion if you have ideas.
All VitaeFlow projects are released under the MIT License.