Your resume. Your browser. Your data.
resuml is a free, open-source resume builder that runs entirely in your browser. Bring your own resume. No accounts, no tracking, no server storage.
What it is
A resume builder that treats your CV as code.
Write your resume in plain YAML, matching the open JSON Resume schema, or use the form editor if you'd rather click than type. Pick from 300+ community themes, check how your resume reads to an ATS, and export to PDF. That's the whole app.
YAML + form modes
Edit as plain text, or use the structured form. Both stay in sync.
300+ themes
Any JSON Resume theme from npm. Bundled themes render live in the preview.
ATS keyword match
Paste a job description, get keyword coverage and recommendations.
PDF export
Print-to-PDF from a preview window. Same rendering the preview uses.
Share by link
A compressed URL hash carries the whole resume. No server copy.
CLI + MCP server
Use from the terminal or connect it to Claude Code / AI agents.
Bring your own resume
Everything happens on your device. We don't see or keep your data.
The web app is a static site. When you type, the YAML is saved in your browser's localStorage on your machine, nowhere else. There's no signup, no account, no database on our side. Closing the tab, clearing your storage, or opening another browser gives you a clean slate.
- All editing, rendering, and PDF export run in your browser.
- Your resume data is never uploaded to a server.
- No tracking pixels, no third-party cookies, no cross-site tracking.
- Open source. Every line is public on GitHub.
- No accounts, no emails, no passwords to manage.
- No "free tier" that hides a premium plan behind your data.
- The theme picker fetches the public list of theme names and npm download counts.
- If you paste a job-posting URL, the fetcher grabs that page to extract the description text.
- Cookieless, aggregate page-view analytics and Core Web Vitals (Vercel Web Analytics and Speed Insights). No cookies, no personal data, no cross-site tracking, no resume content. Just visit counts and load-time metrics.
#).
Browsers never send the part after # to any server. Anyone you give the
link to can read the resume; we can't.
About the themes
Themes are third-party. If one breaks, it's a theme bug, not a resuml bug.
The 300+ layouts in the picker come from the community jsonresume-theme-* packages on npm. They're written by dozens of different authors, over many years, with different dependencies and assumptions. We bundle the ones that load safely in a browser and surface a clear error for the ones that don't.
- We don't own, publish, or maintain the themes.
- We run each one through a render probe to flag broken ones up front.
- Rendering quirks, legacy CDN links, or missing fonts are theme-level issues.
- If a theme won't render in the preview, try another one. The data stays the same.
Get started
No install, no signup. Just open it.