Are two-column resumes ATS-safe?
Mostly yes, with one real cost nobody mentions. What decides whether a side column extracts in the right order, and what a column does to a two-page resume.
Last reviewed
The standard advice is “never use two columns”. It is over-broad, and the reason it persists is that the failure it protects against is real, invisible, and produced by most of the two-column templates on the market. The accurate version is narrower: a side column is safe when the text still comes out in reading order, and nothing about how the page looks tells you whether it does.
Why columns can scramble a resume
Extracting text from a PDF means walking the drawing instructions in the order the file stores them. That order is the order the renderer painted the content, which for a browser-rendered document is essentially the order of the underlying markup — not the visual arrangement. So a layout whose markup says “skills sidebar first, then the main column” produces a file whose text begins with a skills list, no matter that the eye reads the name at the top.
A parser handed that file sees a list of technologies where it expects a name and a summary. Best case it recovers; common case it mis-assigns the first field and everything after it shifts.
What makes a column safe
Emit the sidebar last in the markup and place it into the left column with CSS grid. Grid items paint in document order, and an explicit grid-column does not change painting order — so the visual result is a left rail and the extracted text still starts with the name and the summary. That is the mechanism our own rail templates use, and it is why moving the sidebar above the main content “so the markup matches the design” would put a skills list ahead of the candidate’s name in every file we produce.
The same reasoning decides what goes in the rail. Contact details, skills, languages, certifications: fine. Education deliberately stays in the main column, because in a rail it would extract after skills and break the Summary → Experience → Education → Skills order every parser is calibrated against.
The cost nobody mentions
Here is the part that gets left out of every “are two columns ATS-safe” article, including the ones that say yes.
A PDF’s text comes out page by page. On a single-page resume a correctly built rail extracts identically to the one-column version of the same content. On a two-page resume it cannot: the rail’s text lands after however much of the main flow fitted on page one, and that boundary moves when spacing, font size or a photo moves it. The content is all there and the section order within each page is right, but the document is no longer byte-identical to its single-column twin.
We treat that as a declared limitation rather than a hidden one. Our extraction tests hold side-column templates to same content instead of same text for exactly two assertions, and the score report prints a note saying so. Every guarantee a parser actually depends on still holds; the guarantee that is lost is one we would rather state than quietly drop.
What to check on any two-column template
- Extract it and read the first ten lines. If they are not your name, title and contact details, the template is unsafe. This is a thirty-second test and it is decisive.
- Look for a real table. If the two columns are a table — common in Word templates — extraction interleaves the cells row by row, which produces text like
Senior Engineer Python Northwind 2022 SQL. This is the worst case and it is very common. - Check where education landed. In a sidebar, it extracts after your skills.
- Check page two. Column colour drawn on the column element stops where its content stops, so a coloured rail often prints white on page two — cosmetic, but it tells you the template was never tested past one page, which is also true of its extraction.
The short answer
Use one column if you want the strongest guarantee with no thinking. Use two if you have a template that has been extracted and checked, and accept that on a two-page document the side column’s text lands later than it looks. Do not use a two-column layout built out of a table, text boxes, or absolutely positioned blocks — those are the ones the blanket advice is really about.