---
title: Job Application Spreadsheet Template (Sheets + Excel)
description: Free 12-column job application spreadsheet template for Google Sheets and Excel.
  Copy the header row, build a 6-stage pipeline, and auto-flag stale rows.
type: article
url: https://www.foundrole.com/blog/job-application-spreadsheet-template
date: 2026-06-01T15:43:31Z
og_description: Track every application in one grid. Copy a free 12-column job application spreadsheet
  template for Sheets or Excel, with a 6-stage pipeline built in.
og_image: https://www.foundrole.com/img/pages/9sbt4m/job-application-spreadsheet-template.png?v=2
breadcrumbs:
  - label: Home
    url: https://www.foundrole.com/
  - label: Blog
    url: https://www.foundrole.com/blog
  - label: Job Search Tips
    url: https://www.foundrole.com/blog/category/job-search-tips
---

**Author:** Jessica Baker
**Reading time:** 15 minutes
**Tags:** ATS Optimization, Soft Skills, First Job, LinkedIn Optimization

A **job application spreadsheet template** is a simple grid with one row per job and a fixed set of columns, such as company, status, follow-up date, and contact, that turns a scattered search into a system you can scan in seconds. Marcus, 29, a product manager I coached last spring, emailed me in a panic: "I've applied to thirty-something roles and a recruiter just called about a job I don't even remember applying to. I sounded lost. I think I blew it."

He hadn't blown it. He'd hit the wall every job seeker hits. It takes an average of [42 applications to land a single interview](https://blog.theinterviewguys.com/how-many-applications-does-it-take-to-get-one-interview/), based on a 2025 meta-analysis of 27 separate job-search studies. So by the time you have real volume, you also have real chaos. Inbox-based tracking fails silently somewhere around twenty to thirty live applications. Follow-ups slip. You apply to the same company twice. The recruiter's name is buried four emails deep.

I've coached hundreds of people through searches like this, and the fix is never willpower. It's structure. By the end of this guide you'll have a copy-and-go **12-column template**, a named **6-stage pipeline** so you always know the next move, **two auto-formatting rules** that flag stale rows before you do, and a clear decision for when to graduate to a dedicated tool. No email gate. No download. Copy the headers and start.

## Why a Spreadsheet Beats an Inbox (at Scale)

A spreadsheet beats an inbox because it gives you **status**, **follow-up date**, and **contact name** in a single row scan, while an inbox forces you to reconstruct all three from memory every time someone calls. Your inbox is a stream, but a job search is a pipeline, and streaming the wrong format is exactly why good candidates keep losing track of good leads they worked hard to earn.

Here's what an inbox actually does to you once the volume climbs, and there are three failure modes, every one of them silent until it's too late to fix.

- **Missed follow-ups.** Nothing reminds you that the Globex application is now nine days old and needs a nudge before it goes cold.
- **Duplicate applications.** With no single list to check, you apply twice and look careless to the one recruiter who happens to notice.
- **Lost recruiter contact.** Priya's name and LinkedIn are buried in a reply chain you will never find on the day she finally calls.

Now weigh all of that against the numbers, because the math is what makes the stakes real. The average corporate opening now draws about [242 applications, a roughly 0.4% per-applicant success rate](https://blog.theinterviewguys.com/the-average-job-opening-now-gets-242-applications/), and when the base rate is that brutal, every signal you earn matters. A missed follow-up isn't a small admin slip. It's you handing your slot back to a pile of 241 other people who didn't drop the ball.

The hero stat below sets the volume problem in one number, then shows the inbox view and the spreadsheet view side by side, so you can see the exact gap a tracker closes before you build one.

One more thing, since it threads into pipeline quality later in this guide. If you're applying into the void for weeks with zero replies, your resume may not be the actual problem. Ghost-job estimates for 2026 cluster around [one in three listings, with a LinkedIn-data analysis putting it near 27.4%](https://blog.theinterviewguys.com/ghost-jobs-exposed/), so before you blame your own materials, audit the shortlist first. A clean tracker is what makes that audit possible in the first place.

Count your open applications right now, out loud. If you stall past five, the gap you just felt is the exact problem this template solves.

## The Free 12-Column Template (Copy It Now)

A working job application spreadsheet needs **12 columns**: Company, Job Title, Job Link, Date Applied, Deadline, Status, Interview Stage, Contact / LinkedIn, Salary Range, Resume Version, Follow-Up Date, and Notes. Copy the header row from the block below in one click, paste it into row 1 of Google Sheets or Excel, and you're tracking. No email gate. No download.

Every column earns its seat. Here's what each one does and why it's there.

- **Company.** Your duplicate check. Run a quick CTRL+F on the name before any new application.
- **Job Title.** The exact posting title, so when a recruiter calls about "the Senior PM role" you know which one.
- **Job Link.** Listings expire fast. Save the URL now or lose the job description forever.
- **Date Applied.** The anchor every follow-up formula counts from.
- **Deadline.** Sort by this when you're triaging a busy week.
- **Status.** The single field that turns a list into a pipeline. More on that next.
- **Interview Stage.** Fills in the moment someone first replies.
- **Contact / LinkedIn.** The recruiter's name and profile, so your follow-ups go to a person, not a black-hole inbox.
- **Salary Range.** The posted band, captured while the listing is live.
- **Resume Version.** Which file you sent, so you're never caught off guard when they reference a bullet you don't recognize.
- **Follow-Up Date.** Set this the same minute you submit, not "later."
- **Notes.** The catch-all for the referral name, the weird portal password, the detail you'll want at the phone screen.

That Salary Range column is the one most people skip, and skipping it costs real money. Capture the posted band while you can, because once the listing comes down, your negotiation runs on memory or on the recruiter's number. The bands are wider than people assume. [FoundRole internal data from June 2026](https://www.foundrole.com/jobs) shows Product Manager roles at a **median base of $157K**, with the 25th percentile near **$130K** and the 75th near **$185K**, across 1,029 sampled PM postings. That's a $55K spread on a single title. If you didn't log the band, you'll never know whether the offer landed at the floor or the ceiling.

While you're setting up, note which resume version each application used, because the day a recruiter quotes a bullet back to you is the day you'll wish you'd written it down. That same discipline applies to timing: the moment you log a row, you'll want the [follow-up email timing and templates](https://www.foundrole.com/blog/follow-up-email-after-job-application-templates-timing-tips) ready so the nudge is a paste, not a project.

One setup tip before you sort anything: **freeze row 1.** In Sheets it's View → Freeze → 1 row. In Excel it's View → Freeze Panes → Freeze Top Row. Skip this and your first sort scrambles all 12 columns across the wrong companies.

Use the Copy headers button, paste into row 1, freeze the header, and log your most recent application. Ninety seconds. Do it before you read on.

## Your Application Status Pipeline

Use these six stages as a fixed dropdown on your Status column, and the spreadsheet stops being a list and starts being a **pipeline**: Saved, Applied, Awaiting Response, Phone Screen, Interview, and Offer/Rejected. The difference matters. A list tells you what happened. A pipeline tells you what to do next.

Sales teams have known this for decades. They don't write "lead" in a notebook and hope. They name the stage, because the stage carries the next move. Your job search works the same way. Here's what each stage means and exactly when it triggers an action.

1. **Saved.** A role worth applying to, not yet submitted. No timer. This is your shortlist.
2. **Applied.** You hit submit. Set the Follow-Up Date the same minute, seven days out.
3. **Awaiting Response.** The most dangerous stage, because it's where applications quietly die. First follow-up on Day 7 to 10. Past Day 14 of silence, log a note and move on.
4. **Phone Screen.** Within a day or two: a short thank-you that confirms the next steps you discussed.
5. **Interview.** Day 1 to 2, send a thank-you note. Around Day 10 with no word, one polite status check, not three.
6. **Offer/Rejected.** Terminal. Log it the same day and stop touching the row.

The Awaiting Response stage is where discipline pays off, and it's also where most people freeze. The pipeline math tells you why you shouldn't. Remember, it takes [42 applications to land a single interview](https://blog.theinterviewguys.com/how-many-applications-does-it-take-to-get-one-interview/). Silence is the **base rate**, not a personal verdict. What you actually control is the move from Awaiting Response to a real follow-up on Day 8. When that day arrives, the [Day 7-to-10 follow-up message](https://www.foundrole.com/blog/follow-up-email-after-job-application-templates-timing-tips) is already written for you, so the nudge takes two minutes instead of an hour of staring at a blank email.

The stage diagram below lays out all six steps with their move-triggers and timing rules in one view, with the 42:1 ratio anchored in the footer so the base rate stays visible.

Open your tracker. Assign a pipeline stage to every current row. Any row stuck in Applied for more than ten days gets a Follow-Up Date of today.

## Conditional Formatting: Auto-Flag Stale Applications

Two conditional-formatting rules turn your tracker from a passive list into a **warning system** that flags stale rows on its own, and both take under five minutes to set up. The point is simple. You shouldn't have to remember which application is going cold. The sheet should remember for you.

**Rule 1 — color-code the Status column.** Green for Phone Screen and Interview, amber for Awaiting Response, grey for Rejected. In Sheets: Format → Conditional formatting → Text contains → type the stage name → pick a fill color. In Excel: Home → Conditional Formatting → New Rule → format cells that contain specific text. Now your whole pipeline reads at a glance. Hot rows jump out. Dead rows fade back.

**Rule 2 — flag the stale ones.** Add a helper column called "Days Since Applied" and drop in this formula:

`=TODAY()-D2`

Replace `D2` with your own Date Applied cell. Then conditional-format any value above 10 in red. Why 10? Day 10 is the outer edge of the follow-up window. Cross it and you're not late yet, but you're about to be.

Picture a Monday morning. Without formatting, you scan twenty rows by eye and miss the Globex application sitting twelve days old. With formatting, that row is already glowing red before your coffee's gone, and the Awaiting Response cells are amber so you know exactly where to spend the next ten minutes. That's the whole difference. **The tracker does the noticing.** The annotated tracker below shows both rules in effect on a real Monday, including the red staleness flag on a twelve-day-old row.

One bonus move: protect the header row so a stray click can't overwrite it. Sheets: Data → Protected ranges. Excel: Review → Protect Sheet. And if you're on an eligible Workspace plan, Gemini in Sheets can now build the color rule straight from a plain-language prompt, which saves a few menu clicks. Handy, but optional. The manual rules above work on any free Sheets account.

Set up Rule 1 right now. Three minutes. Your pipeline becomes scannable from the first glance.

## 5 Spreadsheet Tracking Mistakes That Collapse Your Pipeline

Five mistakes quietly kill a tracker, and two of them do most of the damage, so audit for those two first before you worry about the rest. None of these are about effort, because they're about habits, and every one of them has a one-line fix you can apply today.

**Mistake 1: Logging after the fact.** *(Highest impact.)* You apply now and promise yourself you'll log it tonight, but by tonight the Date Applied is wrong and the Day 7-to-10 follow-up window is already drifting away from you. **Fix:** apply, then log immediately, opening the sheet before you close the confirmation-email tab. Same minute, every time.

**Mistake 2: Sorting without freezing the header.** *(Highest impact.)* One sort on an unfrozen sheet scrambles your notes across the wrong companies, and you won't even notice until a phone screen, when you greet the recruiter by the wrong name. **Fix:** freeze row 1 the first time you open the file, with View → Freeze → 1 row.

**Mistake 3: Treating Status as binary.** *(Funnel-killing.)* Marking rows only "Applied" or "Not applied" throws away the entire funnel, so you can't see where things stall and you can't fix what you can't see. **Fix:** use all six named stages as a data-validation dropdown, so the pipeline tells you exactly where the leak is.

**Mistake 4: Skipping the Salary Range column.** *(Costs money later.)* The posting expires and your negotiation ends up running on memory or on the recruiter's anchor number instead of the real posted band. Here's the before and after. Before: "I think it was around the market rate?" After: "The posted band was $130K to $185K, and I'm targeting the upper half given my scope." **Fix:** log the posted band while the listing is still live.

**Mistake 5: Never archiving closed rows.** *(Slow collapse.)* The sheet swells past 200 rows and your three live interviews get buried under fifty old rejections you'll never reopen. **Fix:** add an Archive tab, and at the end of each month move Rejected and Offer-Accepted rows there so the active sheet stays scannable.

The flip cards below put each mistake on the front and its one-line fix on the back, so the pairing sticks in your memory when you tap through them.

Scan your tracker for Mistakes 2 and 3 right now. Freeze the header, then switch your binary Status over to the six named stages.

## Spreadsheet vs. Dedicated Tracker: A Tier-Based Decision

The right tool depends almost entirely on your active application count, so before you debate spreadsheets versus apps, count your live rows. The average job seeker applies to [32 jobs before getting hired, and many modern searches run past 200](https://blog.theinterviewguys.com/how-many-applications-it-takes-to-get-hired-in-2025/). Where you land in that range decides everything.

| Active applications | Right tool | The honest tradeoff |
| --- | --- | --- |
| Under 20 | Spreadsheet | Free and zero-friction; needs daily discipline |
| 20 to 50 | Spreadsheet + Notion Kanban | Visual scan; you maintain two views |
| 50 plus | Dedicated tracker | Saves real time; you lose formula flexibility |

**Tier 1, under 20 active: stay on the spreadsheet.** A spreadsheet is the best fit for job seekers with fewer than 20 active applications who want a free, zero-friction system. It requires daily discipline to stay accurate, but on a 14-row sheet the switching cost to anything fancier is pure friction with no payoff. Keep the Monday review and the apply-then-log habit, and you're done.

**Tier 2, 20 to 50 active: layer a Kanban on top.** Keep the spreadsheet as your source of truth and add a Notion board for visual scanning. Log every change in the spreadsheet first; the Kanban is a view, not a second database. If you want the full options breakdown before you commit, the [job application tracker comparison guide](https://www.foundrole.com/blog/how-to-track-job-applications) walks through Sheets, Notion, and dedicated apps side by side.

**Tier 3, 50 plus active: a dedicated tracker earns its place.** Past fifty rows, manual sorting and formula upkeep cost more time than they save. Huntr is a strong fit if you want one-click autofill that pre-populates application forms from a saved profile, though you give up the formula control a spreadsheet gives you. Teal is the better pick if you want a Kanban board paired with a resume builder, and its 2026 Chrome extension added autofill too. FoundRole's tracker is the natural choice if your roles already live in the feed, because you can [track your applications with FoundRole](https://www.foundrole.com/job-tracker?utm_source=blog&utm_medium=article&utm_campaign=job-application-spreadsheet-template&utm_content=cta-tracker) and save jobs straight from the listing with company, title, salary, and link pre-filled. The honest tradeoff across all three: you trade formula flexibility for speed, and past 50 rows that trade is almost always worth it. If your search leans heavily on AI submissions, the [AI job search toolkit](https://www.foundrole.com/blog/best-ai-tools-for-job-search-complete-toolkit) covers how the trackers fit alongside the rest of the stack.

Whichever tier you're in, the tracker is only as good as what fills it. You can [search open roles on FoundRole](https://www.foundrole.com/jobs?utm_source=blog&utm_medium=article&utm_campaign=job-application-spreadsheet-template&utm_content=cta-inline) and copy quality listings straight into row 2. The tier picker below takes your count and hands back a personalized verdict.

Count your active rows now, meaning everything that isn't Rejected or Offer-Accepted. Under 20: stay on the spreadsheet. 20 to 50: add a Notion layer this week. 50 plus: pick one dedicated tracker and test it for seven days.

## Set Up Your Tracker in the Next 10 Minutes

You can have a populated, formatted tracker running before your coffee break is over. Three steps, ten minutes total. Don't overthink any of them.

1. **Copy the template.** *(60 seconds.)* Use the Copy headers button from the template section above, or in Sheets choose File → Make a copy. Paste into row 1 and freeze it.
2. **Set the Status color rule.** *(3 minutes.)* Format → Conditional formatting in Sheets, Home → Conditional Formatting in Excel. Green for the active interview stages, amber for Awaiting Response, grey for Rejected.
3. **Log your most recent application.** *(6 minutes.)* Real company, real job title, real Date Applied. Set the Follow-Up Date seven days out. One real row beats an hour of formatting an empty sheet.

The checklist below tracks your progress through all three steps and unlocks the FoundRole feed once you finish, so the tracker is ready to fill the moment it's built.

Here's the candid part. A tracker organizes what goes into it, and nothing more. If half your pipeline is noise from mass-apply boards, no amount of conditional formatting saves you. The fix isn't a fancier tracker. It's better roles in row 2. If you want listings that aren't already buried under 242 applicants, the [hidden job market tactics](https://www.foundrole.com/blog/reverse-job-search-how-to-find-a-job-before-it-s-posted) guide shows how to find roles before they hit the public boards.

Total: ten minutes. One habit holds it all together. Apply, then log immediately, same tab, before you close the confirmation email.

## Conclusion

The whole system is three pieces. **12 columns** so nothing gets lost, **6 pipeline stages** so you always know the next move, and **2 conditional-formatting rules** so stale applications flag themselves before you do. Underneath all of it sits one habit: apply, then log immediately.

But the tracker only organizes the pipeline. It can't fix a pipeline full of the wrong roles. Marcus, the product manager from the start of this piece, didn't turn his search around by tracking harder. He turned it around by filling row 2 with jobs worth tracking, then following up on Day 8 when the recruiter went quiet. You can do the same. [Browse curated job listings on FoundRole](https://www.foundrole.com/jobs?utm_source=blog&utm_medium=article&utm_campaign=job-application-spreadsheet-template&utm_content=cta-inline) and copy the good ones straight into your template. And once you cross into Tier 3, [FoundRole's built-in job tracker](https://www.foundrole.com/job-tracker?utm_source=blog&utm_medium=article&utm_campaign=job-application-spreadsheet-template&utm_content=cta-tracker) saves roles directly from the feed, with no copy-paste step and no formula upkeep.

The next interview you land won't come from tracking better. It'll come from following up on Day 8, when everyone else didn't.
## Latest Articles

- [Job Application Tracker: Sheets, Notion or an App?](https://www.foundrole.com/blog/how-to-track-job-applications)
- [Follow-Up Email After Job Application: Templates & Timing](https://www.foundrole.com/blog/follow-up-email-after-job-application-templates-timing-tips)
- [How to Find Your First Job in 2026: 10-Step Blueprint](https://www.foundrole.com/blog/how-to-find-your-first-job-10-essential-steps-2026-guide)
- [How to Tailor Your Resume for Each Job Application (2026)](https://www.foundrole.com/blog/how-to-tailor-your-resume-for-each-job-application)
- [How to Use ChatGPT for Job Search: 2026 Prompt Guide](https://www.foundrole.com/blog/how-to-use-chatgpt-for-job-search-in-2026-complete-guide-with-prompts)


## Frequently Asked Questions

### What columns should a job application spreadsheet have?

A functional job tracker needs 12 columns: Company, Job Title, Job Link, Date Applied, Deadline, Status, Interview Stage, Contact/LinkedIn, Salary Range, Resume Version, Follow-Up Date, and Notes. Salary Range is the most-skipped column, so log the posted band while the listing is live, not your target. Freeze row 1 before your first sort or all 12 columns scramble across the wrong company rows.
### How do I create a job application tracker in Google Sheets?

Copy the 12-column header row from the template above, paste it into row 1 of a new Google Sheet, then freeze it via View, Freeze, 1 row. Add a data-validation dropdown on the Status column with the six stages: Saved, Applied, Awaiting Response, Phone Screen, Interview, Offer/Rejected. Then add a Days Since Applied helper column using =TODAY()-D2 and format any value above 10 red to flag stale rows.
### Is a spreadsheet good for tracking job applications, or should I use an app?

A spreadsheet is the right tool for fewer than 20 active applications: free, flexible, and no learning curve. From 20 to 50, layer a Notion Kanban on top for visual scanning while keeping the spreadsheet as your source of truth. Past 50 active rows, a dedicated tracker like Huntr, Teal, or FoundRole's built-in tracker earns its place, since auto-fill and Kanban views save more time than the formula flexibility costs.
### How do I keep track of which jobs I have already applied to?

Keep the company name and exact job title as columns 1 and 2, then run a quick CTRL+F on the company name before every new application to catch duplicates. Log each application the same minute you submit, because filling rows a week later corrupts your Date Applied and drifts the follow-up window. Set the Status column to Applied at submission so any existing row for that company flags a duplicate before you start the form.
### How often should I follow up on a job application?

Send your first follow-up on Day 7 to 10 after applying if you have not heard back, the outer edge of the standard review window. Past Day 14 of silence, log a note and move on rather than chasing. It takes an average of 42 applications to land a single interview, so silence is the base rate, not a personal rejection. For phone screens and interviews, send a thank-you within a day or two and one polite status check around Day 10.
### What if I have more than 100 active applications, does the spreadsheet still work?

A spreadsheet can handle 100-plus rows, but manual sorting and formula upkeep start costing real time at that volume, and there is no real mobile experience for logging on the go. Move Rejected and Offer-Accepted rows to an Archive tab at the end of each month so the active sheet stays scannable. The average seeker applies to 32 jobs before getting hired and many searches run past 200, so at high volume a dedicated tracker is usually faster.
### Can I use Excel instead of Google Sheets for this template?

Yes. The 12-column layout, the =TODAY()-D2 staleness formula, and the conditional-formatting steps all work identically in Excel. The only path difference is freezing the header (Excel: View, Freeze Panes, Freeze Top Row) and status color-coding (Excel: Home, Conditional Formatting, New Rule, Format cells that contain specific text). If you use both tools, keep one file as the source of truth to avoid double logging and sync errors.
---

[Browse all articles](https://www.foundrole.com/blog)