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.

Resume Formatter

Input
Separate sections with headings. Use "- " for bullet points. Fields: Name, Email, Phone, Location, LinkedIn, Website, Summary, Experience, Education, Skills.
Live Preview

Enter your resume details to see a preview.

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

  1. Start with your contact block — In Structured mode, put Name:, Email:, Phone:, Location:, LinkedIn: and Website: 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.
  2. Open a section with a recognised heading — A line containing nothing but Experience, Education, Skills, Summary, Projects, Certifications, Awards, Languages, Publications, Volunteer, Interests or References begins a new section. Any other wording is treated as content, not a heading.
  3. Write each role as a pipe-separated lineSenior Developer | TechCorp | 2020-Present becomes 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.
  4. 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.
  5. Switch to Markdown if you want your own headingsMarkdown 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.
  6. Print, save as PDF, or copy the HTMLPrint / 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.

HeadingHow its entries render
SummaryPlain paragraphs
Experience, Education, Projects, VolunteerPipe-separated lines become title, subtitle and floated date range
SkillsA comma or semicolon separated line becomes a row of tags
Certifications, Awards, Languages, Publications, Interests, ReferencesParagraphs, 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.

StructuredMarkdown
Your nameName: Jane Doe# Jane Doe
Contact detailsLabelled lines from a fixed listAny label: value line before the first heading
Section headingOne of twelve fixed names, alone on a line## Anything You Like
Job or degreeTitle | Employer | Dates### Title | Employer | Dates
Bullets- Achievement- Achievement
Bold and italicNot supportedMarkers 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.