Skip to content
ATS Score Checker

Can an ATS Read Tables, Columns, Bullets, Links and Colour?

An ATS reads tables and columns, but not in the order you laid them out; it reads bullets and coloured text without trouble; it reads the visible text of a hyperlink and not the link itself. Each answer below gives the reason first and the mechanism after.

Hrishikesh PardeshiFounder, Flexiple · 14 Sep 2026 · 10 min read
In this article · 8 sections

Yes, an ATS reads tables, columns, bullets, links and colour, but it reads them as text extracted in an order it chooses, without the layout you see. A table’s cells come out in a sequence the extractor decides. Two columns interleave. Bullets extract as a symbol plus text. A hyperlink contributes its visible text and nothing else. Colour disappears, except when the text is white. Each of these is a check on our rubric, and each answer below gives the reason first and the mechanism behind it.

The question “can ATS read tables” usually hides a second one: will the parser reject me for it? No. No mainstream ATS rejects a resume on layout; a badly extracted resume lands in the database with the wrong fields and never surfaces in the recruiter’s search. That is the failure, and it is silent.

Can an ATS read tables?

It reads the text inside them, but not as rows, so anything whose meaning depends on the row, a job, a degree, a marks line, can arrive merged with its neighbour or split from its own date. That is why our rubric has check P10, no tables around experience or education, at 3 points, and why Greenhouse’s parse-failure article lists “complex resumes with tables, headers, and footers” among its causes.1

The mechanism differs by file type and ends the same way. In a .docx a table is a separate structure in the document XML; an extractor walks it cell by cell, and most flatten the result into one line per cell or one line per row with the cells run together. A qualification in column one and its year in column four can end up on different lines, or on the same line with no separator. In a PDF there is no table at all, only text positioned on the page; the extractor rebuilds lines from coordinates, and a tall cell beside a short one produces lines that mix the two. Either way the parser then has to guess which fragments belong together, and its date and title detectors work on lines, not on cells.

Tables around things that are not entries are less risky: a two-cell layout that puts skill categories on the left and terms on the right loses the pairing, but a skill term on its own is still a skill term. The fix for entries is one plain line each: qualification, institute, year, marks.

Two-column resumes: what the parser vendor measured

Textkernel, the parser under iCIMS, SAP SuccessFactors and Lever, measured its own performance on column resumes: before a machine-learning fix, 62% of column CVs rendered correctly; after it, 90%. That is a real improvement, and it still leaves one file in ten reading wrongly at the market leader, which is why our rubric scores columns as a 4-point warning under check P9 rather than a fail, and why Greenhouse still lists “columned designs” among its parse-failure causes.1 2

Why a page read left to right interleaves

A PDF has no columns. It has characters at coordinates, and an extractor rebuilds lines from those coordinates. The naive way to do that is to sweep the page from top to bottom and treat everything at the same height as one line. On a two-column page that produces a line from the sidebar, then a line from the experience, then the sidebar again; Textkernel’s own description is that a plain read “mixes bits and pieces of each column together”.2 Its fix was a model that learns where the column boundary is and reads each column as its own block. The 10% it still misses are not described layout by layout, so there is no safe list of column templates, only the extracted text of your own file.

What interleaving looks like

Here is the naive reading order of a two-column fresher resume we built for testing:

Date of Birth: 14/08/2002 my skills and knowledge to grow along with the organisation.
Father’s Name: Rajesh Sharma
Marital Status: Single ACADEMIC QUALIFICATIONS

The parser now has a line that begins with a date of birth and ends with the objective, and a marital status that runs into a section heading. Downstream, the section detector cannot see where Academic Qualifications begins, and a job title on one line with its company two lines later, sidebar text in between, is how jobs get merged or split.

When a sidebar is safe

Skills, links and languages in a narrow column parse fine even when interleaved, because each is a short, self-contained term: “Python” is still “Python” when it lands between two lines of the main column. Experience is not: a title, an organisation and a date range have to stay together for the parser to build a role, and interleaving pulls them apart. The rule that follows is simple. If you keep a sidebar, put only skills, links and languages in it, and keep experience, education and projects in the main column at full width. Even then, read the extracted text before you send the file, because the sidebar’s lines will still be interleaved with the main column and a parser’s section detector has to cope with that.

The other things that travel with two columns

Templates that use columns usually also use a coloured header band, icon fonts for phone and email, and skill bars. Each is a separate hazard with its own check: light text on a band is dropped by some parsers as decoration and the band is often a text box or a header (P11, P12); icon glyphs come out as private-use characters and can take the word beside them (P6); bars carry no parseable proficiency (P14). Fixing the columns and leaving the rest is the usual half-fix.

How to see it in the What the ATS read tab

Upload the file and open the What the ATS read tab. It shows the extracted text in reading order, which for a two-column file means the interleaving itself, line by line. Read it top to bottom. If a skill term sits between two experience bullets, the columns interleaved. If a role’s dates are two lines away from its title, the parser will have had to guess which role they belong to. If the phone number is nowhere, it was in the band. Fix the layout, re-check, and the tab shows the same text in one clean sequence; the score moves by exactly what the layout was costing.

You can check whether your resume is ATS friendly and read that tab for your own file before you change anything.

Can an ATS read bullet points?

Yes. A standard bullet from Word, Google Docs or LaTeX extracts as a bullet character followed by the text, and every parser we have documentation for handles that. The bullet is a glyph in a normal font; the parser strips or ignores it and reads the sentence. Our rubric has no check against bullets. It has checks about what the bullets say: a verb first (I1), a number (I2), 8 to 30 words (I3).

Two kinds of bullet do break. A bullet drawn from an icon font, a tick, an arrow, a diamond from a symbol set, extracts as a private-use character or as a gap, and the extractor can lose the word beside it (check P6). A bullet inserted as a small image, which some design tools do, extracts as nothing, so the line loses its marker and may run into the previous one. Use the editor’s standard bulleted list and the problem does not arise.

It reads the visible text of the link and, in most extractors, ignores the destination, so a URL written out is stored and an icon or a linked word is not. Check F7 on our rubric asks for the LinkedIn or portfolio link as plain text, because Lever and Greenhouse fill their online-profile fields from URLs found in the extracted text.

The mechanism: in a PDF, a hyperlink is an annotation placed over a region of the page, stored separately from the text underneath it. Text extractors read the text layer; most do not read annotations at all, and those that do rarely connect the target to a field. In a .docx the link target is stored in the document’s relationships part, again apart from the text. So the word LinkedIn linked to your profile extracts as the word LinkedIn, and a LinkedIn icon linked to it extracts as a private-use character. Neither is a URL.

Write linkedin.com/in/yourname and github.com/yourname as text. Keep the link live if you like: a recruiter reading the PDF can click it, and the parser gets the text either way.

Can an ATS resume have colour?

Yes. Colour is a property of how text is painted, not of the text, and an extractor ignores it. A dark blue name, a coloured rule under each heading and a grey date all extract as ordinary characters. Our rubric has no check on colour as such.

Three uses of colour do cause trouble, and each has a check:

  • White or near-white text, usually a keyword list hidden against the background. The extractor reads it like any other text, so it is indexed, and it is visible to the recruiter in the parsed view. Several ATS flag it and recruiters blacklist for it (check P13, 2 points, fail).
  • Light text on a coloured band, the usual home of the contact block. The text is real, but the band is often a text box or a header, and some parsers drop light text over a shape as decoration. The band, not the colour, is the risk (checks P11, P12).
  • Colour carrying information: a skill bar filled to 80%, a star rating, a coloured pie of languages. The proficiency lives in the shape, and shapes are skipped (check P14). Write the skill name instead.

For the human reader, remember that resumes are often printed or viewed in greyscale; one accent colour on headings is plenty.

Can an ATS read text boxes, headers and footers?

Often not, and that is the question people forget to ask. In a Word file a text box and a header sit outside the main story of the document; many extractors read the main story and skip the rest, and some read the header once per page and duplicate it. Greenhouse names “the name and contact information in the header, footer, or text box” as a parse-failure cause.1 Our rubric fails a file for contact details in the header (check P12, 3 points) and warns for text boxes anywhere (check P11).

The fix is the cheapest on the page: cut the text out of the box or the header and paste it as ordinary paragraphs at the top of page one.

The six answers in one table

Every element here is readable; what matters is whether the extracted text still carries the meaning the layout gave it.3

Element Can an ATS read it? What goes wrong Check (points)
Tables The text, yes; the rows, no Entries merge or split P10 (3, warn)
Two columns Nine in ten with modern parsers Columns interleave; experience in a column merges P9 (4, warn)
Bullet points Yes Only icon-font or image bullets break P6 (2, warn)
Hyperlinks The visible text only An icon or linked word stores no URL F7 (2, info)
Colour Ignored White text is indexed; bars are skipped P13 (2, fail), P14 (2, warn)
Text boxes, headers Often skipped or duplicated Contact details lost P11 (1, warn), P12 (3, fail)

How to see what your own file does

Upload the file and read the What the ATS read tab from top to bottom; it shows the extracted text in the order a parser receives it, which is the only evidence that matters for your resume. If a degree line is missing its year, a table did it. If a skill term sits between two experience bullets, a column did it. If the phone number is nowhere, it is in the header.

The rules those checks enforce, and the one-column specification that avoids all six problems at once, are on the ATS-Friendly Resume hub. Fix the structural items first, re-check, and the result page shows the delta.

  1. Greenhouse Support, “Unsuccessful resume parse”, updated 2 March 2026, https://support.greenhouse.io/hc/en-us/articles/200989175-Unsuccessful-resume-parse 2 3

  2. Textkernel, “Improving extraction from column resumes”, engineering blog, https://www.textkernel.com/learn-support/blog/improving-extraction-from-column-resumes/ 2

  3. ATS Score Checker, “How we score”, rubric v1.0, checks P9, P10, P11, P13, P14 and F7, https://atsscorechecker.io/how-we-score

Hrishikesh PardeshiFounder of Flexiple, which builds and runs India engineering teams for companies abroad. Has read more resumes than he would like to count and built this tool so fewer of them get parsed wrongly.

Questions this article answers

Can an ATS read tables in a resume?

It extracts the text, but cell by cell in an order the extractor decides, so rows of experience or education merge or split. Keep entries on plain lines; a table is the commonest cause of a lost degree or job entry.

Can an ATS read a two column resume?

About nine times in ten with the market-leading parser, after its machine-learning fix. Read left to right, the columns interleave; a sidebar of skills survives that, experience in a column does not.

Can an ATS read bullet points?

Yes. A standard bullet extracts as a symbol followed by the text. The hazard is a bullet drawn from an icon font or inserted as an image, which extracts as a private-use character or as nothing.

Can an ATS read hyperlinks?

It reads the visible text, not the link behind it. Write linkedin.com/in/yourname as text. An icon or the word LinkedIn linked to your profile gives the parser nothing to store.

Can an ATS resume have colour?

Yes. Colour is not text and the parser ignores it. The two exceptions are white or near-white text, which is indexed and visible to the recruiter, and colour used to carry information, like skill bars.

Check yours while you read.Check my resume