Resume Formatter — Plain Text to a Clean Layout
Type or paste your resume as plain text or Markdown and watch it render as a single-column document you can print, save as PDF, or copy as HTML. 100% client-side — your resume stays private.
How should a resume be formatted? Use a single column, standard section headings — Summary, Experience, Education, Skills — and plain bullet points, with your contact details on one line under your name. Tables, text boxes, multi-column layouts and content placed in headers or footers are the usual causes of a mangled parse in an applicant tracking system. This tool takes plain text or Markdown and renders exactly that structure, so the layout follows from the format instead of from dragging boxes around.
How to Use the Resume Formatter
-
Start with your contact block — In Structured mode, put
Name:,Email:,Phone:,Location:,LinkedIn:andWebsite:on their own lines before any section heading — the parser stops looking for contact fields once the first section starts. They render as your name plus one pipe-separated line beneath it. -
Open a section with a recognised heading — A line containing nothing but
Experience,Education,Skills,Summary,Projects,Certifications,Awards,Languages,Publications,Volunteer,InterestsorReferencesbegins a new section. Any other wording is treated as content, not a heading. -
Write each role as a pipe-separated line —
Senior Developer | TechCorp | 2020-Presentbecomes a job title, an employer line and a right-aligned date range. Keep hyphens out of the title and employer — the splitter treats a spaced hyphen as a separator too. -
Add achievements as bullets — Lines beginning with
-become list items. Note that every bullet in a section is gathered into one list rendered at the end of that section, so put a single role in a section, or use Markdown mode, if you need bullets to sit under their own job. -
Switch to Markdown if you want your own headings — Markdown mode reads
#as your name,##as a section heading of any wording you like,###as a sub-entry and-as a bullet. Bold and italic markers are stripped rather than rendered, so leave them out. - Print, save as PDF, or copy the HTML — Print / PDF opens the formatted document in a new tab with its own stylesheet and triggers your browser's print dialog, where you can choose Save as PDF. Copy HTML puts the markup on the clipboard for pasting into a site or an email.
How the Parser Reads Your Text
There is no drag-and-drop layer here. The tool reads your text line by line and decides what each line is from its shape, which is why knowing the four shapes it recognises is the whole skill of using it.
- A contact field — one of a fixed set of labels, a colon, then a value. Only recognised before the first section heading.
- A section heading — a line whose entire content matches one of the twelve recognised section names, case-insensitively.
- A bullet — a line starting with a hyphen and a space.
- An entry — anything else inside a section. If it contains a pipe or a spaced hyphen it is split into a title, a subtitle and a date range; otherwise it becomes a plain paragraph.
Recognised section headings
In Structured mode the heading list is fixed. A line reading Work History or
Technical Stack will not start a section — it is absorbed into whatever section came before it as
an ordinary entry, which is the most common reason a resume renders as one long block. Use one of these, or
switch to Markdown mode where ## accepts any wording.
| Heading | How its entries render |
|---|---|
Summary | Plain paragraphs |
Experience, Education, Projects, Volunteer | Pipe-separated lines become title, subtitle and floated date range |
Skills | A comma or semicolon separated line becomes a row of tags |
Certifications, Awards, Languages, Publications, Interests, References | Paragraphs, or title lines if they contain a pipe |
Two behaviours worth knowing before you paste
Entry lines are split on hyphens as well as pipes. The splitter treats both
| and a hyphen surrounded by spaces as a separator, and it also breaks on a bare hyphen inside a
token. That is convenient for 2020-Present, which is rejoined as a date range, but it damages
employers and titles that legitimately contain a hyphen. Write Coca Cola rather than
Coca-Cola in a pipe-separated line, or put the name on its own line as a paragraph.
Bullets collect at the bottom of their section. Every bulleted line in a section is gathered into a single list that is rendered after all of that section's entries, not after the entry it followed in your input. With two jobs in one Experience section you get both job headings first and then one combined list of achievements. If that matters, give each role its own heading in Markdown mode, or accept a single achievements list per section.
The Modern, Classic and Minimal tabs currently produce the same layout — the preview and the printed document do not change when you switch between them. Pick whichever you like; what actually shapes the output is the structure of your text.
Structured Mode or Markdown Mode
The two input modes build the same kind of document from different conventions. Structured mode is faster if your content already looks like a resume; Markdown mode gives you control over section naming and is the better choice if you keep your resume in a text file under version control.
| Structured | Markdown | |
|---|---|---|
| Your name | Name: Jane Doe | # Jane Doe |
| Contact details | Labelled lines from a fixed list | Any label: value line before the first heading |
| Section heading | One of twelve fixed names, alone on a line | ## Anything You Like |
| Job or degree | Title | Employer | Dates | ### Title | Employer | Dates |
| Bullets | - Achievement | - Achievement |
| Bold and italic | Not supported | Markers are stripped, not rendered |
Only Email, Phone, Location, LinkedIn and
Website reach the contact line under your name. Title: and Summary: are
accepted by the parser but never printed, so put a professional headline in a Summary section
rather than on a labelled line, or it will vanish without an error.
Formatting That Survives an Applicant Tracking System
Most large employers run submitted files through parsing software before a person sees them. The parser's job is to pull your name, contact details, employers, dates and skills out of a document into database fields, and it does that by reading text in document order. Anything that separates visual position from document order — a two-column layout, a text box, a table used for alignment, contact details tucked into the page header — can produce a record where your phone number lands in the employer field or a job disappears entirely.
The output here is deliberately plain for that reason: one column, real heading elements, real list items, no tables and no positioned boxes. Dates float to the right visually but sit inside the same heading in the document, so a parser reading in order still finds them next to the role. Saving through your browser's print dialog keeps the text as text rather than flattening it to an image, which matters — a PDF made from a screenshot is unreadable to every parser regardless of how tidy it looks.
Beyond structure, the things that actually help are unglamorous: spell out both the acronym and the full term the first time you use it, use the same job titles the posting uses where they are honest, and keep the file name informative. Length is a judgement call, not a rule — one page is conventional early in a career and two is normal after a decade, but a third page of detail rarely earns its space.
No tool can guarantee how a particular applicant tracking system will parse a file — vendors differ and behaviour changes between versions. Treat a clean single-column layout as removing known obstacles, not as a certificate. Where an employer offers a plain text upload or a form, use it rather than attaching a designed document.
Frequently Asked Questions
Click "Print / PDF" and select "Save as PDF" in your browser's print dialog. This produces a clean, print-ready PDF of your resume.
Use "Label: Value" for fields like Name, Email, Phone. Create sections with heading names (e.g. "Experience") and use "- " prefix for bullet points. The tool parses this structure automatically.
Yes. Toggle to "Markdown" mode and use standard markdown syntax: # for headings, - for lists, ** for bold, and * for italic. This gives you full control over formatting.
No. All processing happens in your browser. Your resume data is never stored on any server. It remains in browser memory only while the page is open.
Use Cases
ATS Compatibility
Format resume content for ATS compatibility to pass automated screening systems.
Consistent Layouts
Create consistent resume layouts with professional formatting across all sections.
Format Conversion
Convert resume to different formats for various application requirements.
Section Structuring
Structure work experience sections with bullet points and achievement descriptions.
Keyword Optimization
Optimize resume keyword placement for better ATS matching and recruiter visibility.