1001Ferramentas
📄 Generators

Fake Resume CV Generator

Generates fictional resume (name, experience, education, skills) — for prototypes of job portals.

Mock CVs in HTML and PDF: programmatic generation for testing and design

A mock CV generator produces synthetic résumés with realistic-looking employment history, education and skill stacks — useful well beyond personal job hunting. Designers presenting layout mockups need filled-in templates without burning hours typing fake jobs; recruiter training programmes need a pile of representative CVs to practise screening on; HR demo systems need seed data that does not leak real candidates; component test suites for ATS integrations need a deterministic source of "good" and "bad" inputs. Synthetic data also sidesteps the LGPD and GDPR friction of using real CVs in test environments.

This generator focuses on the production pipeline — HTML source → PDF output — that almost every résumé builder ends up implementing. The design and ATS-friendliness side of the discussion is covered by the companion gerador-html-cv-resume tool; here we focus on the how: which engine renders the PDF, which CSS Paged Media features actually work, how to handle bilingual layouts, and which open standards keep your CV portable across templates.

HTML-to-PDF engines

Five engines dominate the HTML-to-PDF space, with very different trade-offs. Puppeteer (headless Chrome) is the highest-fidelity: await page.pdf({ format: 'A4', printBackground: true }) renders modern CSS exactly as Chrome does on screen, including custom fonts, flexbox, grid and SVG. It is also the heaviest — a Chromium binary plus a Node process per render. WeasyPrint (Python) is the most standards-compliant: it implements CSS Paged Media properly, generates real PDF bookmarks from headings, and is small enough to run in a serverless function. wkhtmltopdf is the legacy choice, based on an old WebKit; still works for simple documents, but flex and grid layouts misrender. PDFKit (Node) and jsPDF (browser) draw the PDF imperatively, skipping HTML entirely — fastest, but you lose every CSS affordance. DocRaptor and similar cloud APIs wrap the same engines behind a billable HTTP endpoint.

CSS Paged Media and print styles

CSS Paged Media is the standards-track way to control PDF output from HTML. The @page at-rule sets margins, size and orientation; @page :first, :left and :right address page slots; break-before: page and break-inside: avoid control where the engine cuts. A typical CV stylesheet:

@page { size: A4; margin: 2cm 2cm 2.5cm 2cm }
@page :first { margin-top: 0 }
@media print {
  h2 { break-after: avoid }
  .job { break-inside: avoid }
  a { color: inherit; text-decoration: none }
}

Typography on print is a different game from screen. A serif body (Garamond, Georgia, Source Serif) at 10-11pt reads better on paper than the 16px sans-serif everyone uses on screen; a sans-serif heading (Helvetica, Inter, Open Sans) creates contrast. Line height around 1.35-1.45 is the sweet spot for a one-page CV; tighter and it cramps, looser and the page no longer fits.

JSON Resume and template portability

The JSON Resume schema (jsonresume.org) standardises a single JSON document — basics, work, education, skills, projects, languages, references — that more than 100 open-source themes can render. A mock generator that emits valid JSON Resume output instantly works with Reactive Resume, Resumake, FlowCV and any custom Handlebars or React template. For bilingual CVs, the typical pattern is two JSON files (resume.pt.json, resume.en.json) sharing a manually-kept skill list, rendered against the same theme to keep visual identity consistent across languages.

Regional conventions: photos, length, structure

CV conventions differ sharply by region. In Brazil, Portugal and most of Latin America, a small photograph and city of residence remain customary, though Brazilian tech companies increasingly omit photos to align with international standards. In the US, Canada, UK, Ireland, Australia and most of Northern Europe, photos are a discrimination risk and should be removed. Length: academic CVs run five or more pages and list every publication and grant; corporate CVs/résumés are one page below seven years of experience, two above. Cover letter (carta de apresentação, French lettre de motivation) is a separate document, typically a single page, customised per role — not embedded in the CV.

Frequently asked questions

Should I submit PDF or HTML to an ATS? PDF. Applicant Tracking Systems parse text-searchable PDF and DOCX reliably; HTML and images of CVs are unreadable to them. Always export your HTML to a real text PDF (not a screenshot).

Photo on a Brazilian CV? Still common, but the trend is to remove it — many BR tech companies follow US conventions to avoid bias. For international applications, always remove.

How do I render bilingual CVs? Two strategies: a single document in two columns (PT/EN side by side) or two separate files generated from a shared JSON Resume source. The dual-file approach scales better when employers request a specific language.

Which engine should I use to render PDFs server-side? Puppeteer for highest fidelity with modern CSS; WeasyPrint when you need real CSS Paged Media features (bookmarks, headers, footers) in a small footprint; PDFKit/jsPDF only when you control the layout imperatively and do not need HTML.

Related Tools