# YAML Resume to HTML

Turn a JSON Resume document written in YAML or JSON into one self-contained, print-ready HTML résumé with themes, accent color, fonts and page setup.

## Run it

- **CLI:** `gizza tool yaml-resume 'basics:
  name: Ada Lovelace
  label: Analytical Engineer
work:
  - name: Analytical Engine Co
    position: Lead Engineer
    startDate: "1843-01"'`
- **Web:** https://gizza.ai/tools/yaml-resume/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/yaml-resume/tool.json

## Inputs

- `data` — Résumé document (YAML or JSON) _(field)_
- `format` — Document format _(field)_
- `theme` — Theme _(field)_
- `accent` — Accent color _(field)_
- `font` — Body font _(field)_
- `font_size` — Body size (pt) _(field)_
- `page_size` — Page size _(field)_
- `margin` — Print margin (in) _(field)_
- `date_format` — Date style _(field)_
- `sections` — Sections (blank = all, in order) _(field)_

## Output

- HTML résumé (text)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `data` — Résumé document (YAML or JSON)
- `format` — Document format
- `theme` — Theme
- `accent` — Accent color
- `font` — Body font
- `font_size` — Body size (pt)
- `page_size` — Page size
- `margin` — Print margin (in)
- `date_format` — Date style
- `sections` — Sections (blank = all, in order)

Example: `https://gizza.ai/tools/yaml-resume/?data=basics%3A%0A%20%20name%3A%20Ada%20Lovelace%0A%20%20label%3A%20Analytical%20Engineer%0Awork%3A%0A%20%20-%20name%3A%20Analytical%20Engine%20Co%0A%20%20%20%20position%3A%20Lead%20Engineer%0A%20%20%20%20startDate%3A%20%221843-01%22&format=auto&theme=modern&accent=%232563eb&font=sans&font_size=10.5&page_size=letter&margin=0.5&date_format=month-year&sections=summary%2C%20work%2C%20education%2C%20skills`

---

## About this tool

Paste a JSON Resume v1.0 document as YAML or JSON and render it into one self-contained HTML résumé. The output embeds its stylesheet, includes an `@page` print rule, escapes all résumé text, and only turns safe `http`, `https`, and `mailto` URLs into links.

Use the theme control for a polished modern page, a centered classic layout, a compact one-pager, or an ATS-friendly single-column version. The section list lets you hide or reorder standard JSON Resume sections such as `work`, `education`, `projects`, and `skills` without editing the source document.

### Worked example

Input:

```yaml
basics:
  name: Ada Lovelace
  label: Analytical Engineer
  email: ada@example.com
work:
  - name: Analytical Engine Co
    position: Lead Engineer
    startDate: "1843-01"
    endDate: "1852-11"
    highlights:
      - Published the first algorithm intended for a machine
skills:
  - name: Mathematics
    keywords: [Algorithms, Analysis]
```

With the modern theme and month-year dates, the result contains an HTML document headed `Ada Lovelace`, an Experience section dated `Jan 1843 – Nov 1852`, and a Skills section listing `Algorithms, Analysis`.

### Limits and edge cases

- The input must follow the JSON Resume shape with `basics.name`; unknown keys are ignored.
- This tool returns HTML. Use your browser's print dialog to save a PDF.
- It does not fetch remote images, fonts, or themes. Everything stays in the generated document.
- Dates are formatted when they look like ISO `YYYY`, `YYYY-MM`, or `YYYY-MM-DD`; informal dates pass through unchanged.

## FAQ

<details>
<summary>Can this create a PDF directly?</summary>

It returns print-ready HTML with an embedded `@page` rule. Open or preview the HTML in a browser, then use Print → Save as PDF so your local browser handles the final PDF rendering.

</details>

<details>
<summary>What schema does the input use?</summary>

It expects the standard JSON Resume v1.0 shape: `basics`, `work`, `education`, `projects`, `skills`, `awards`, `certificates`, `publications`, `languages`, `interests`, and `references`. YAML and JSON are both accepted.

</details>

<details>
<summary>Is the generated HTML safe to paste into a browser?</summary>

Résumé text is HTML-escaped, style values are validated, and unsafe URL schemes are printed as text instead of links. You should still review the final output before sending it to anyone.

</details>

<details>
<summary>Which theme should I use for applicant tracking systems?</summary>

Use the `ats` theme. It avoids decorative rules and color, keeps a simple single-column structure, and leaves section headings as plain text.

</details>

## Related tools

- [Resume to JSON](https://gizza.ai/tools/resume-to-json/): Paste a plain-text resume and get a JSON Resume (v1.0.0) document — or validate an existing resume.json against the schema. Runs in your browser.
- [Resume Builder](https://gizza.ai/tools/resume-builder/): Turn structured JSON details — contact, experience, skills — into a clean, ATS-friendly Markdown resume in your browser. Free, private, no sign-up.
- [Absolute value, sign, or negation for a whole column](https://gizza.ai/tools/absolute-value-transformer/): Paste a column of numbers and apply absolute value, sign extraction (-1/0/1), sign flipping, or force-negative to every value at once, with rounding and an audit table.
- [Adjacency Matrix Converter](https://gizza.ai/tools/adjacency-matrix-converter/): Convert a graph between edge list, adjacency matrix, and incidence matrix — directed or undirected, weighted or not. Free, private, runs in your browser.
- [Amazon Order Analyzer](https://gizza.ai/tools/amazon-order-analyzer/): Paste an Amazon order-history CSV export to summarize total spend by month, top items, and category breakdowns. Browser-only, private, with Markdown or JSON output.
