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
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.