FormaTeX

\templates{resume}

LaTeX Resume Templates

Professional LaTeX resume and CV templates — precisely typeset, ATS-friendly, and ready to compile. Open any template in the browser and export a pixel-perfect PDF in seconds.

View full template

\section{Why LaTeX}

Why write your resume in LaTeX?

Word processors fight you. LaTeX works with you — the same principles that make it the standard for academic publishing make it ideal for a resume that stands out.

Precise typography

LaTeX's Knuth–Plass line-breaking algorithm produces tighter, more balanced text than any word processor. Kerning, hyphenation, and micro-typography are handled automatically.

ATS-friendly PDFs

pdfLaTeX embeds a clean Unicode text layer so applicant-tracking systems can parse your resume without OCR errors. No invisible boxes, no broken copy-paste.

Consistent formatting

Define spacing, fonts, and section styles once in the preamble. Every entry in every section respects those rules — impossible to accidentally misalign a date or indent.

Version control friendly

Plain .tex source files diff cleanly in Git. Track every change, branch for different job applications, and roll back to any previous version in seconds.

\section{Template Styles}

Three styles for every application

Whether you are applying to a tech startup, a research institution, or a traditional firm, there is a LaTeX resume template that fits the context.

Modern Resume

Most popular

Clean single-column layout with a bold name header, rule-separated sections, and tight list spacing. Built on the article class with titlesec — no extra packages needed beyond a standard TeX Live install.

preamble.tex
\documentclass[10pt, a4paper]{article}
\usepackage[top=15mm, bottom=15mm,
            left=18mm, right=18mm]{geometry}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries\uppercase}
  {}{0em}{}[\titlerule]
\pagestyle{empty}
View full template

Academic CV

Academia

Two-column header with photo support, detailed publication list, grants, teaching experience, and conference talks. Designed for faculty applications and postdoc positions — typically 3–10 pages.

preamble.tex
\documentclass[11pt, a4paper]{article}
\usepackage[top=20mm, bottom=20mm,
            left=25mm, right=25mm]{geometry}
\usepackage{biblatex}
\addbibresource{publications.bib}
% Enumerate publications automatically
\defbibenvironment{bibliography}{\enumerate}
  {\endenumerate}{\item}
View full template

Classic Resume

Traditional

Timeless single-page layout inspired by traditional typesetting. Conservative font choices (TeX Gyre Termes or Palatino), generous whitespace, and a structured two-column skills section.

preamble.tex
\documentclass[11pt, letterpaper]{article}
\usepackage{palatino}
\usepackage[top=20mm, bottom=20mm,
            left=22mm, right=22mm]{geometry}
\usepackage{enumitem}
\setlist[itemize]{noitemsep, topsep=2pt}
\pagestyle{empty}
View full template

\input{resume.tex}

Complete resume template

A full single-page resume built on the article class with titlesec and geometry. Compiles cleanly with pdfLaTeX — no extra packages beyond a standard TeX Live installation.

resume.tex
\documentclass[10pt, a4paper]{article}

% Encoding & fonts
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}

% Page geometry — tight margins for a one-pager
\usepackage[top=15mm, bottom=15mm, left=18mm, right=18mm]{geometry}

% Lists, sections, links
\usepackage{enumitem}
\usepackage{titlesec}
\usepackage[hidelinks]{hyperref}
\usepackage{parskip}

% Section style: uppercase, bold, full-width rule beneath
\titleformat{\section}
  {\large\bfseries\uppercase}
  {}{0em}{}[\titlerule]
\titlespacing{\section}{0pt}{10pt}{6pt}

% No page numbers on a resume
\pagestyle{empty}

\begin{document}

% ---- Header ----
\begin{center}
  {\LARGE\bfseries Jane Doe}\\[4pt]
  London, UK \quad|\quad
  \href{mailto:[email protected]}{[email protected]} \quad|\quad
  \href{https://linkedin.com/in/janedoe}{linkedin.com/in/janedoe} \quad|\quad
  \href{https://github.com/janedoe}{github.com/janedoe}
\end{center}

% ---- Summary ----
\section{Summary}

Software engineer with 5 years of experience building scalable web
applications in Python and TypeScript. Passionate about developer tooling,
performance optimisation, and open-source software.

% ---- Experience ----
\section{Experience}

\textbf{Senior Software Engineer} \hfill \textit{Jan 2022 -- Present}\\
\textit{Acme Corp, London}
\begin{itemize}[leftmargin=*, noitemsep, topsep=2pt]
  \item Led migration of monolithic API to microservices, reducing p99 latency by 40\%.
  \item Built an internal developer platform serving 80+ engineers using Kubernetes.
  \item Mentored three junior engineers; two promoted within 12 months.
\end{itemize}

\vspace{6pt}
\textbf{Software Engineer} \hfill \textit{Jun 2019 -- Dec 2021}\\
\textit{Startup XYZ, Remote}
\begin{itemize}[leftmargin=*, noitemsep, topsep=2pt]
  \item Designed real-time collaboration feature used by 10k+ daily active users.
  \item Reduced CI pipeline time from 22 minutes to 8 minutes via caching.
  \item Technical blog posts drove 35\% of the company's inbound leads.
\end{itemize}

% ---- Education ----
\section{Education}

\textbf{MEng Computer Science} \hfill \textit{2015 -- 2019}\\
\textit{University of Example, First Class Honours}

% ---- Skills ----
\section{Skills}

\begin{itemize}[leftmargin=*, noitemsep, topsep=2pt]
  \item \textbf{Languages:} Python, TypeScript, Go, Rust
  \item \textbf{Infrastructure:} AWS, Kubernetes, Terraform, Docker
  \item \textbf{Databases:} PostgreSQL, Redis, ClickHouse
\end{itemize}

\end{document}

\section{How to Customize}

Five steps to a submission-ready resume

Follow these steps to adapt any template to your target role and market in under fifteen minutes.

01

Choose your document class and paper size

Use article for all resume styles. Set 10pt or 11pt font and a4paper or letterpaper depending on your target country. US employers expect letter; everywhere else expects A4.

LaTeX
\documentclass[10pt, a4paper]{article}
02

Tighten the margins

Resumes need more content per page than academic documents. 15–18mm on all sides is typical. Adjust until the content fits comfortably without looking crowded.

LaTeX
\usepackage[top=15mm, bottom=15mm, left=18mm, right=18mm]{geometry}
03

Style section headings with titlesec

The titlesec package gives full control over heading format, spacing above, and spacing below. The \titlerule command draws the separator line under each section title.

LaTeX
\titleformat{\section}{\large\bfseries\uppercase}
  {}{0em}{}[\titlerule]
\titlespacing{\section}{0pt}{10pt}{6pt}
04

Add accent colour (optional)

Load xcolor to define a brand colour for your name, section rules, or hyperlinks. This is effective but use sparingly — stick to one accent colour at most.

LaTeX
\usepackage[dvipsnames]{xcolor}
\definecolor{accent}{RGB}{0, 90, 160}
% Then use: \color{accent}Your Name
05

Make links clickable

Use hyperref with hidelinks so PDF hyperlinks work without coloured boxes. Set your email and LinkedIn URL so recruiters can click directly from the PDF.

LaTeX
\usepackage[hidelinks]{hyperref}
\href{mailto:[email protected]}{[email protected]}

Ready to land your next role?

The complete Modern Resume template is pre-loaded and ready to compile. Edit your details, hit compile, and download your PDF — no installation needed.

\section{Common Questions}

Common questions

Which LaTeX class should I use for a resume?

Use the standard article class for most resumes — it is universally supported and gives you full control with titlesec and geometry. Dedicated resume classes like moderncv or altacv are also popular; moderncv is great if you want a polished two-column header and coloured accents without manual styling.

How do I add colour to my LaTeX resume?

Load \usepackage[dvipsnames]{xcolor} and define a colour with \definecolor{accent}{RGB}{0, 90, 160}. Then apply it to your name header, section rules (via \titleformat), or hyperlinks. Keep colour minimal — one accent on the name and section titles is standard practice.

Can I include a photo in my LaTeX CV?

Yes — use the graphicx package: \includegraphics[width=25mm]{photo.jpg}. For a two-column header with photo on the right, wrap the header in a minipage environment. Note that photos are common in European and Asian CVs but typically omitted in US resumes.

How do I fit my resume on one page?

Tighten margins with geometry (15mm sides), reduce itemsep in enumitem (noitemsep option), lower font size to 10pt, and trim content ruthlessly. If you still overflow, reduce \vspace between sections to 4pt instead of the default 8–10pt.

Should I use pdfLaTeX or XeLaTeX for a resume?

pdfLaTeX is the safest choice — it is fast, universally supported, and produces small file sizes. Use XeLaTeX if you want to load custom OpenType fonts (e.g., your company's brand font or a modern sans-serif like Inter) via the fontspec package.

How do I list publications on an academic CV?

Use BibLaTeX with \printbibliography[type=article, title={Journal Articles}] and separate \printbibliography calls for books, conference papers, and preprints. The biblatex-cv package offers pre-built academic CV bibliography styles with automatic numbering.

Build your resume in LaTeX today

Open a template in FormaTeX, compile to PDF in seconds, and download a professionally typeset resume — no TeX Live installation, no Docker, no setup.

Create an account

One quick thing

We track anonymous usage — page views, feature usage, compilation events — to understand what works and what doesn't. No ads, no personal data, no third-party sharing.

Cookie policy