
Template details
Open Resume
Free, self-hosted open-source resume builder with 156 templates, unlimited resumes, free PDF/Word/PNG exports, and local SQLite storage.
About this template
Open Resume is an open-source, self-hosted resume builder that gives you all 156 templates, unlimited resumes, and watermark-free exports of PDF, Word (.docx), PNG, and JSON backups. It runs on Node.js 24 or later, or via Docker, and stores data locally in SQLite.
What is Open Resume?
Open Resume is a free, self-hosted resume builder that takes your personal details, work history, and design choices as input and produces exportable resumes as searchable PDF, editable Word (.docx), PNG, and JSON backup files, all without a paywall or watermark. It runs on Node.js 24 or later or via Docker Compose, stores data in a local SQLite database, and is released under the MIT License. A paid hosted version is available at justcv.org for users who prefer not to deploy.
Key Features
- 156 templates, all included — browse, filter, preview, and switch layouts without unlocking a plan.
- Four-workspace editor — Content, Design, Check, and Share tabs with autosave, undo/redo, photos, section ordering, fonts, and accent colors.
- Free exports in four formats — searchable PDF, editable Word (.docx), PNG, and single-resume JSON backups, all without watermarks.
- File import — read text PDFs (up to 30 pages), DOCX, TXT, Markdown, or pasted text up to 10 MB on your device, review detected content, then create an editable copy.
- Version history — server checkpoints, named snapshots, content and appearance comparisons, and restoration as a new copy.
- Local resume checks and job matching — review content, contact details, date ranges, and compare a posting against visible resume content in the browser without an API key.
- Seven interface languages — English, Simplified Chinese, Traditional Chinese, Japanese, Korean, French, and Russian.
- Optional AI tailoring — bring your own Chat Completions-compatible API key to adapt a copy to a job description; a model supporting
response_format: json_objectis required.
Who is it for?
- Job seekers tired of paywalls: build and export unlimited resumes in all 156 templates without paying for rarely used features.
- Privacy-conscious users: self-host with local SQLite storage, server-side sessions, and no analytics or telemetry to keep resume data under their own control.
- Developers and tinkerers: run it with Docker or Node.js 24+, modify the strict TypeScript frontend and server, and contribute via Issues and pull requests.
- People updating an old resume: import an existing PDF, DOCX, TXT, or Markdown file, review detected content, and turn it into an editable copy.
Use cases
- Tailoring an application: paste a job description, run local job matching against visible resume content, then optionally use AI tailoring on a separate copy while the original stays intact.
- Maintaining multiple versions: search by title, name, or target role, sort by update time or title, rename and duplicate resumes from the workspace, and back up the whole workspace as JSON (up to 100 resumes / 25 MB).
- Sharing a resume: generate share links that encode the resume in the URL fragment with no third-party storage; recipients must be able to reach your deployment.
How does Open Resume work?
Self-host with docker compose up -d --build or npm ci && npm run build && npm start, then open http://localhost:3000 and sign in with the demo credentials admin / admin. In the editor, write in Content, style in Design, review in Check, and download in Share. Each installation has one shared workspace; copy .env.example to .env to set LOCAL_USERNAME and LOCAL_PASSWORD, and restart to invalidate old sessions.
Pros and cons
- Free and MIT-licensed, including commercial use.
- All 156 templates and exports without watermarks or limits.
- Local SQLite storage with no analytics or telemetry; Docker data survives container replacement in the
resumesvolume. - One shared workspace per installation: no separate user accounts or tenant isolation.
- Scanned PDFs require OCR first, and complex layouts should be checked before saving.
Pricing
The open-source project is free to self-host. A paid hosted version is available at justcv.org to support continued development. AI tailoring requires your own API key, and API usage is billed by your provider with no model credits included.
FAQ
Is Open Resume free?
Yes. Open Resume is open source under the MIT License: use every one of the 156 templates, create unlimited resumes, and export PDF, Word, PNG, and JSON without a paywall or watermark. A paid hosted option exists at justcv.org for people who skip deployment.
Does Open Resume require a cloud database or OAuth setup?
No. It runs with Docker or Node.js 24 or later, stores data in local SQLite (.data/open-resume.sqlite by default, configurable with DATA_DIR), and needs no cloud database, OAuth, or payment setup.
Can I use Open Resume without AI?
Yes. Editing, saving, and exporting all work without AI. Tailoring is optional: configure a Chat Completions-compatible provider with AI_API_KEY, AI_BASE_URL, and AI_MODEL in the .env file and restart.
What file formats can I import and export?
Import supports text PDFs (up to 30 pages), DOCX, TXT, Markdown, and pasted text up to 10 MB. Export offers searchable PDF, editable Word (.docx), PNG, and single-resume JSON; workspace backups support up to 100 resumes or 25 MB.
What are the main limitations?
Each installation has one shared workspace: everyone with the same login accesses the same resumes, and there is no tenant isolation. Scanned PDFs need OCR before import, and uploaded avatars are not included automatically in share links.















