gitmyhub

HackMyResume

JavaScript ★ 9.3k updated 4y ago

Generate polished résumés and CVs in HTML, Markdown, LaTeX, MS Word, PDF, plain text, JSON, XML, YAML, smoke signal, and carrier pigeon.

A command-line tool that generates resumes in many formats, PDF, Word, HTML, Markdown, and more, from a single JSON or YAML source file. Write your resume once and export every format instantly, all locally with no data sent anywhere.

JavaScriptNode.jssetup: easycomplexity 2/5

HackMyResume is a command-line tool that generates polished resumes and CVs in many different formats from a single source file. Instead of maintaining separate Word documents, PDFs, and web versions of your resume, you write your information once in a structured JSON or YAML file and the tool produces all the formats you need in one step. Supported outputs include HTML, Markdown, LaTeX, Microsoft Word, PDF, plain text, and more.

The tool runs locally on your machine and never sends your data anywhere. It works on Mac, Linux, and Windows via Node.js and is free under the MIT license. Because your resume data lives in a plain text file, it is easy to track changes over time with version control, the same way developers manage code.

HackMyResume supports two standard resume data formats: FRESH and JSON Resume. These are open specifications for structuring career information. If you already have a resume in one format, the tool can convert it to the other. It also includes a validation command that checks whether your resume file follows the rules of the chosen format, which helps catch missing or incorrectly formatted fields before you send anything out.

An analysis feature inspects your resume for keyword density and gaps in employment dates, giving you a quick readout of how the document might look to automated screening systems. Themes control how the generated files look, and you can choose from the built-in options or install additional themes from the JSON Resume theme ecosystem. PDF output requires a separate tool like wkhtmltopdf or Phantom.js to be installed on your system.

Where it fits