Skip to content
GoMakeWebsite

Blog ·  July 26, 2026

Does Your Resume Pass ATS? A Web Developer Explains What Actually Breaks It

Most resumes are read by software before a human sees them. I build websites for a living — here's the real, technical reason two-column resumes fail ATS, and how to fix yours.

Salman, web developer

Salman — founder, GoMakeWebsite

I hand-code websites for small businesses. 5+ years, 95+ PageSpeed standard.

Here’s a thing almost nobody tells you: at most companies, the first thing to “read” your resume isn’t a person. It’s software — an Applicant Tracking System, or ATS — that takes your beautifully designed PDF and tries to turn it back into plain text so it can file your name, your jobs, and your skills into a database.

If that conversion goes wrong, a human may never see you at all. Not because you weren’t qualified — because the software couldn’t read the file.

I build websites for a living, which means I spend my days dealing with exactly this problem in reverse: getting text out of documents and rendered pages reliably. So let me explain what’s actually happening, without the myths.

What an ATS actually does

When you upload a PDF, the ATS runs it through a text extractor. A PDF isn’t really a “document” the way you imagine it — under the hood it’s a set of instructions for painting characters at particular x/y coordinates on a page. There’s no built-in notion of “this is a column” or “this heading belongs to this job.” The extractor has to reconstruct the reading order from those painted positions.

For a simple, single-column layout, that reconstruction is easy and reliable: top to bottom, left to right, done. For anything clever, it gets fragile fast.

Why two-column resumes are the #1 problem

This is the big one, and it’s the exact opposite of what most “premium” resume templates sell you.

A two-column resume — skills and contact info in a sidebar, experience in the main column — looks polished to a human. But to a text extractor reading painted coordinates, the two columns often interleave. You designed this:

Skills · Senior Product Designer Figma · Led a redesign that lifted activation 34%

The parser can read it as this:

Skills Senior Product Designer Figma Led a redesign that lifted activation 34%

Your job title, your sidebar, and your bullet points get shuffled into a blender. In the worst cases the entire sidebar is dropped. All the “design” did was destroy the information.

There’s no reliable way to know which ATS will handle columns gracefully and which will mangle them — so the only safe assumption is that some will mangle them. A single column removes the guesswork entirely.

The other things that quietly break parsing

Text that’s actually an image. Some “resume makers” (and anyone who exports a design from Photoshop or Canva as a flat graphic) produce a PDF where your text is really a picture of text. A human sees a resume; the extractor sees an image with zero readable characters. This is the most complete failure of all — you score nothing because there’s nothing to read. Always confirm you can select and copy the text in your PDF. If you can’t, neither can the software.

Tables used for layout. Putting your work history inside an invisible table to line things up is another parsing gamble — cells get read in an order you didn’t intend.

Icons standing in for information. A little phone glyph next to your number, a location pin next to your city — these are images. The extractor doesn’t see “phone,” it sees nothing. Keep the actual words.

Headers and footers. Contact details tucked into the PDF’s header/footer region are sometimes ignored entirely by extractors. Keep your name, email and phone in the normal body of the page, near the top.

Non-standard section names. “Where I’ve Made an Impact” is charming, but the parser is looking for “Experience” or “Work Experience.” Cute headings can leave whole sections uncategorised. Use the boring, standard names — they’re boring because they work.

What about keywords?

Yes, ATS software matches your resume against the job description, and yes, missing the obvious terms hurts you. If the job says “project management” and your resume only says “ran projects,” you may score lower.

But the honest version: match real language you actually own, don’t stuff. The old trick of pasting the entire job description in white text at the bottom of the page is detected and will get you rejected by any competent recruiter the moment a human opens the file. Write in normal sentences, use the real words for the skills you genuinely have, and you’ve done the keyword job properly.

Does “ATS-friendly” mean my resume has to be ugly?

No — and this is the part I care about most, because it’s where the bad advice lives.

You do not have to choose between “passes the software” and “looks like a designer made it.” Everything that makes a resume feel premium — confident typography, generous whitespace, a clear hierarchy, one restrained accent — is completely invisible to a text extractor and completely safe. What breaks parsing is structural: columns, tables, images, icons. Avoid those, and you can still have something genuinely good-looking.

A great resume is a single clean column of real text that happens to be beautifully set. That’s the whole trick.

A 60-second ATS checklist

Before you send it, confirm:

  1. One column. No sidebar.
  2. You can select and copy the text in the PDF. (If you can’t, it’s an image — rebuild it.)
  3. Standard section headings — Experience, Education, Skills.
  4. Contact details in the body, near the top, not in the page header.
  5. No icons replacing words, no text baked into graphics.
  6. Real keywords from the job, in real sentences — no stuffing.
  7. Saved as PDF (unless the application specifically asks for Word).

The easy way

You can do all of this by hand in Google Docs — a single column, standard headings, selectable text. It just takes care.

Or you can use the free resume builder I made: every template is single-column and ATS-safe by construction, it exports real selectable text (never an image), and it sets the right conventions for your country automatically. No signup, no email, and your data never leaves your browser. I built it precisely because “make it ATS-friendly” is easy to say and annoying to do correctly.

Either way, the goal is the same: make sure the software can read you — so a human gets the chance to.


Curious how the tool decides what’s “ATS-safe”? It’s the same principle throughout: real text, one column, standard structure. If you want a hand with a specific resume, or a portfolio site to go with it, message me on Fiverr — I’m happy to take a look.

Want a website that actually wins customers?

I'll design a free homepage concept for your business within 24 hours — before you pay anything. See the quality first, then decide.