← All posts
April 15, 2026 · ats · dates · fix

How to Fix Dates on Your Resume (Format, Gaps, Concurrent Roles)

Inconsistent date formats break ATS parsers. Here's the format that always works, plus how to handle gaps and concurrent roles cleanly.

ATS systems extract dates to compute years of experience and detect overlaps. If your dates can't be parsed, the ATS either fails the parse entirely or marks your tenure as unknown — and recruiters filtering by experience won't see you.

The format that always parses

Use "Mon YYYY" or "Mon YYYY – Mon YYYY". Examples:

  • Mar 2023 – Present
  • Jan 2021 – Feb 2023
  • Sep 2019 (single date — for one-off awards or certifications)

Avoid: "March '23", "3/23", "23-Present", "Spring 2023", "Q1 2023". These confuse parsers, especially the slash-and-apostrophe variants which collide with US/EU date conventions.

Use an en-dash or hyphen, not "to"

Mar 2023 – Present beats Mar 2023 to Present. The dash is what most parsers expect. "to" sometimes gets mistakenly parsed as part of the role title.

Career gaps

Don't lie about gaps. ATS systems detect overlaps and missing periods, and recruiters notice when start dates don't match end dates. Two ways to handle:

  1. Acknowledge briefly. Add a one-line entry: "Career break — Mar 2023 – Aug 2023 — Family caregiving / Independent study / etc." Recruiters appreciate transparency.
  2. Use years instead of months for adjacent roles when the gap is <6 months: "2021 – 2023 + 2023 – Present" reads continuous.

Concurrent roles

Two jobs at once is fine. List both with overlapping dates. The parser will detect the overlap and most modern ATS handle it correctly. Add a clarifier in the title or summary: "(while at [primary employer])".

Promotions within the same company

Don't list two separate company entries. Use one employer block with two role lines under it:

Acme Corp · 2020 – Present
  Senior Product Manager · Mar 2023 – Present
  Product Manager · Jan 2020 – Feb 2023

This way the ATS attributes 4+ years of tenure to Acme, instead of two short stints.

The "Present" word

For your current role, write Present (capital P) as the end date. Some parsers also accept Current, but Present is the safer default.

Quick audit

Open your resume and scan only the dates. Are they all the same format? Same separator? Same casing? If even one is different, fix all of them. Consistency is what tells the parser "these are real dates I can extract".

Run a fresh parse through resumes.repair to confirm — if the parsed JSON shows correct startDate/endDate fields for every role, you're good.