Basic Resume is a Typst template for building single-page, ATS-friendly resumes from structured data fields.
What is Basic Resume?
Basic Resume is an open-source Typst resume template (version 0.2.9) published on Typst Universe as @preview/basic-resume:0.2.9. It takes personal details and resume entries—education, work experience, projects, extracurriculars—written as Typst function calls, and outputs a clean, one-page PDF resume formatted to parse correctly in applicant tracking systems (ATS). The template was created by Stephen Xu, a college student who wrote it after not finding a suitable Typst resume template. It draws inspiration from Jake's Resume and guided-resume-starter-cgc.
Key Features
- ATS-optimized layout — Uses a single-column structure and standard section headings so automated resume parsers correctly extract contact info, education, and work history.
- Structured formatting functions — Provides
edu,work,project, andextracurricularsfunctions with named parameters like dates, degree, company, and role to keep entries consistent. - Customizable appearance — Lets you set accent color, font, paper size (e.g., us-letter), author position, and personal-info position through the
resume.withshow rule. - Minimal dependencies — Only requires Typst itself; no external libraries or web frameworks.
- Simple quick-start — A barebones example with personal information variables, comment lines for optional fields like phone and personal-site.
- Date helper — Includes a
dates-helperfunction to format date ranges like "Aug 2023 – May 2027". - Generic layout helpers — Offers
generic-two-by-twoandgeneric-one-by-twofor custom entries that don't fit the standard sections.
Who is it for?
Basic Resume targets job seekers, particularly students and recent graduates, who want a clean, ATS-friendly resume without wrestling with LaTeX or word processors. It's also for Typst users who prefer a code-driven workflow and want to version-control their resume. Recruiters indirectly benefit from the standard formatting that makes parsing easier.
What can you do with Basic Resume?
- Students and recent grads — Create a resume that includes education, GPA, relevant coursework, work experience, projects, and extracurricular activities using the provided functions.
- Developers and engineers — Keep a resume in a plain-text Typst file, track changes with Git, and generate a PDF via the Typst compiler.
- People with nonstandard sections — Use the generic one-by-two and two-by-two helpers to build custom rows for volunteer work, publications, or certifications.
How does Basic Resume work?
You write a .typ file that imports the template with #import "@preview/basic-resume:0.2.9": *, then define personal information variables (name, email, github, etc.) and call #show: resume.with(...) to apply the layout. Resume content is added under == Section headings, using the provided formatting functions for each entry. Compile the file with Typst to produce a PDF.




