.cv Open Resume File Format
§01 / Create

Make your .cv in the browser.

Drop your PDF resume and a Markdown copy. We pack them into one .cv file with a clean HTML rendering and, if you want, semantic embeddings. Nothing leaves your browser. No account, no upload.

No Markdown copy yet? Ask ChatGPT or Claude.

Upload your PDF to ChatGPT or Claude, then paste this prompt:

prompt

Convert this resume to clean Markdown that an ATS or LLM can parse perfectly. Keep every section, every role, every date, every bullet. Use # for the name, ## for section headers (Summary, Experience, Education, Skills, etc.), ### for individual roles or schools. Italicise dates with *. No tables. No emojis. No commentary. Output only the Markdown, nothing else.

Save the output as resume.md or paste it into the box below.

01

PDF

02

Markdown

03

Metadata

Want BGE-M3 semantic embeddings? Generate them with the Python package (pip install "cvfile[embed]"): run embed(markdown), then pack with pack(..., embeddings=encode_embeddings(payload)). The model is ~285 MB, so it runs once locally on your machine, not on every visitor's browser. The cv CLI is reader-only (extract, inspect, validate, search) and does not generate embeddings.