Write your resume in
Markdown,
style it with CSS, output to resume.html
and
resume.pdf
.
- Python ≥ 3.9 or
uv
- Optional, required for PDF output: Google Chrome or Chromium
Run directly without installing:
uvx resume-markdown
Or install once:
uv tool install resume-markdown
pip install resume-markdown
-
Create template files in your current directory:
resume-markdown init # or with uvx: uvx resume-markdown init
This creates
resume.md
andresume.css
in the current directory. -
Edit your copy of
resume.md
with your resume content (the placeholder text is taken with thanks from the JSON Resume Project) -
Build HTML and PDF output:
resume-markdown build # or with uvx: uvx resume-markdown build
-
Use
--no-html
or--no-pdf
to disable HTML or PDF output:resume-markdown build --no-pdf
-
Use
--chrome-path=/path/to/chrome
if the tool cannot find your Chrome or Chromium executable (needed for PDF output)resume-markdown build --chrome-path=/path/to/chrome
-
Specify a custom input file:
resume-markdown build myresume.md
Edit resume.css
to change the appearance of your resume. The
default style is extremely generic, which is perhaps what you want in a resume,
but CSS gives you a lot of flexibility. See, e.g. The Tech Resume
Inside-Out for good advice about what a
resume should look like (and what it should say).
Change the appearance of the PDF version (without affecting the HTML version) by
adding rules under the @media print
CSS selector.
Change the margins and paper size of the PDF version by editing the @page
CSS
rule.