> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rxresu.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Importing applications from CSV

> Move job applications from a spreadsheet into Reactive Resume with CSV import, check how columns are matched, and export your applications back to CSV.

CSV import/export is available in the web app. Open Reactive Resume in your browser to use it; the mobile app does not offer CSV import/export.

If you've been tracking your job search in a spreadsheet, you can bring it into **Applications** in one go. Save the sheet as CSV, paste or upload it, check how the columns were matched, and import. You can also export your applications to CSV at any time.

## Import applications

**1. Open Import from CSV**

In **Applications**, select the import/export button (the two arrows next to **Save job**), then **Import from
CSV…**. If you have no applications yet, select **Import from CSV** on the empty page.

**2. Add your rows**

Select **Upload .csv** to choose a file, or paste rows into **CSV data**. The first row must be the column headings.
Select **Use sample** to see an example.

**3. Check the column matches**

Under **Columns**, each heading from your file points to the field it goes into. Reactive Resume matches common
headings automatically. Change any match with its menu, or choose **Leave out** to skip a column.

**4. Review the summary**

The summary says how many applications are ready to import, and how many rows or contacts will be skipped. Invalid
stage, stage-date or posting-source values are listed by row; correct them or choose Leave out for that column
before importing.

**5. Import**

Select **Import *n* applications**. They're added to your Applications right away.

![Import from CSV sheet with pasted rows, and a Columns list matching Company to Company, Position to Role, Status to Stage, Applied Date to Stage date, Location, Source, Tags, Contact Name and Contact Email to their fields, and Referrer to Leave out](https://mintcdn.com/reactiveresume/Frn-Cva3VDpmsDcj/images/guides/importing-applications-from-csv/import-from-csv-column-matching.webp?fit=max\&auto=format\&n=Frn-Cva3VDpmsDcj\&q=85\&s=0515a0a88a9657a981632174edbbb1be)

![Summary reading 2 applications ready to import and 1 row has no company or role and will be skipped, with a Download them link and an Import 2 applications button](https://mintcdn.com/reactiveresume/Frn-Cva3VDpmsDcj/images/guides/importing-applications-from-csv/import-from-csv-ready-summary.webp?fit=max\&auto=format\&n=Frn-Cva3VDpmsDcj\&q=85\&s=3af81244d045688c4154b667767b0032)

![Import from CSV with Row 2 Stage appllied and Stage date 2026-02-30 marked invalid, and Import disabled](https://mintcdn.com/reactiveresume/lD1PkqegCfGS0oWt/images/guides/career/import-validation.png?fit=max\&auto=format\&n=lD1PkqegCfGS0oWt\&q=85\&s=7ea75dd3c7438ab13a12434cf2be2e16)

## Prepare your spreadsheet

Each row becomes one application. Only **Company** and **Role** are required; rows missing either are skipped. Select **Download them** in the summary to get the skipped rows as a CSV file, fix them, and import them again.

These are the fields you can match columns to, with the headings that match automatically (capitals and extra spaces don't matter):

| Field | Headings matched automatically | Notes |
| - | - | - |
| **Company** | Company, Employer, Organization | Required. |
| **Role** | Role, Title, Position, Job Title | Required. |
| **Stage** | Stage, Status | One of `saved`, `applied`, `screening`, `interview`, `offer` or `closed`. `rejected` is read as `closed`. Other nonempty values block import until corrected or left out. Rows without a stage import as **Saved**. |
| **Stage date** | Applied Date, Stage Date, Stage Entered At | The date the application entered its stage, as `YYYY-MM-DD`. Invalid nonempty dates block import. With no stage date, today's date is used. |
| **Location** | Location | |
| **Salary** | Salary, Salary Range, Compensation | |
| **Source** | Source | Shows in the Insights sources chart. |
| **Link** | URL, Link, Job URL, Job Posting | The job posting's address. |
| **Notes** | Notes, Note | |
| **Tags** | Tags | Separate tags with commas, semicolons or vertical bars, such as `remote;unity`. |
| **Contact name**, **Contact role**, **Contact label**, **Contact email**, **Contact phone** | Contact Name, Contact Role, Contact Type, Contact Email, Contact Phone | One contact per row. |
| **Archived (closes it)** | Archived | For files exported from older versions: `true` imports the application as closed. |

A contact needs a name, and its email must be a valid address. If not, the summary counts it as skipped and the application imports without it.

Here's a small example:

```csv theme={null}
Company,Role,Stage,Stage Date,Location,Source,Tags,Contact Name,Contact Email
Orchard Lane Games,Gameplay Programmer,applied,2026-09-02,Remote,LinkedIn,remote;unity,Nadia Brooks,nadia@orchardlane.example
Silverpine Interactive,AI Programmer,screening,2026-08-28,Stockholm,Referral,ai,,
```

## Import large files

Up to 500 applications import at a time. If your file has more, the summary says how many were left out. Split the file and import the rest separately.

> [!TIP]
>
> After importing, use the List view's checkboxes to tag, move or close many applications at once. See [Tracking job
> applications](/guides/tracking-job-applications#acting-on-several-applications-at-once).

## Export applications to CSV

**1. Open Export to CSV**

Select the import/export button, then **Export to CSV…**.

**2. Choose what to export**

Under **Applications to export**, choose **Current filters** (the applications matching your current search, closed
ones included) or **All applications (including closed)**.

**3. Limit by date, if you like**

Set **Application date from** and **Application date to** to export only applications from that period. Leave them
empty to include every date.

**4. Download**

Check the count of applications to export, then select **Download CSV**.

![Export applications sheet with Applications to export set to Current filters, empty Application date from and Application date to fields, and 11 applications to export](https://mintcdn.com/reactiveresume/Frn-Cva3VDpmsDcj/images/guides/importing-applications-from-csv/export-applications-sheet.webp?fit=max\&auto=format\&n=Frn-Cva3VDpmsDcj\&q=85\&s=09902a5746f6669dbc5449a21340aaa0)

The file is named `applications-YYYY-MM-DD.csv` and opens in any spreadsheet app. It has these columns: Company, Role, Stage, Stage Date, Application Date, Location, Salary, Source, URL, Tags, Contacts, Notes, Closed Reason, Stage History, Timeline, Created At and Updated At.

You can import an exported file again; most columns match automatically. To download everything in your account, including documents, see [Exporting your data](/guides/exporting-your-data).

## Troubleshooting

> **Some rows were skipped**
>
> Every row needs a company and a role. Check that those columns are matched under **Columns**, then fill in the
> missing values. **Download them** gives you the skipped rows.

> **A column wasn't recognized**
>
> Pick the right field from the column's menu under **Columns**, or rename the heading in your file to one from the
> table above.

> **A stage or date didn't import**
>
> Use one of the stage values listed above, and write valid dates as `YYYY-MM-DD`, for example `2026-09-02`. The error
> names the row to correct. You can choose **Leave out** for a column when you intentionally want its default instead.

> **Tags didn't split correctly**
>
> Separate tags with commas, semicolons or vertical bars. If you use commas, put the whole cell in double quotes, such
> as `"remote,unity"`, so the commas aren't read as new columns.

MCP clients can import applications too. See [Managing applications with MCP](/guides/managing-applications-with-mcp).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.