# Importing your data

> Migrate from another CRM or import a CSV — upload, map your columns, preview and run.

_Collection: Getting Started (getting-started) — Kepler Help Center. Canonical: https://keplercrm.com/support/articles/import-your-data/_

You can bring data into Kepler three ways: a **white-glove migration** handled by our team, the **self-serve CSV importer**, or — for candidates specifically — **bulk CV upload** with AI parsing (see [Adding candidates from CVs](/support/articles/import-candidates-from-cvs/)).

## Option 1 — Assisted migration (recommended for switching ATS)

Our team can migrate your candidates, clients, contacts, jobs, notes and activity history from your existing ATS. Kepler's flexible data model means custom fields from your old system can map across too. Contact our team to discuss supported source systems, scope, pricing and timing — [book a call](/demo/) to start a migration.

## Option 2 — CSV import

Each record type has its own importer. Open the record list (for example **Candidates**), then choose **Import** — or navigate straight to `/candidates/import`, `/contacts/import` or `/companies/import`.

The importer has four steps: **Upload File**, **Map Columns**, **Review & Transform** and **Review Plan**.

### Step 1 — Upload File

Drop your file in the **Upload CSV File** card. The first row must be column headers. Exports from spreadsheets or other CRMs work as-is.

### Step 2 — Map Columns

Kepler reads your headers and **auto-maps** columns whose names match its fields (for example "First Name" → first name). For everything else, pick the matching Kepler field from the dropdown next to each column. Columns you leave unmapped are skipped.

  - You can map into **custom fields** as well as standard ones — create the custom field first (see [Custom fields](/support/articles/custom-fields/)).

  - A per-field **value preview** shows how your data will land, so you can spot formatting problems before importing.

### Step 3 — Review & Transform

Check your rows exactly as they'll be created, with a coverage indicator for how much of the file was parsed cleanly, and clean up any values that need adjusting before the import runs.

### Step 4 — Review Plan

The final plan shows how many records are new, how many match existing records as duplicates, and how many rows are invalid — and lets you choose how duplicates should be handled before you start the import. Run it when it looks right; you'll see progress and a result summary, and imported records are immediately searchable.

## Option 3 — Bulk CV upload (candidates)

Have CV files rather than a spreadsheet? Select your CVs in the **Add candidate** dialog — you can pick more than 25 at once, and Kepler uploads larger selections in chunks of 25 (the current default ceiling is 500 files per batch). Kepler parses them in the background into draft candidate records for review, flags duplicates against your existing database, and lets you create them individually or all at once. See [Adding candidates from CVs](/support/articles/import-candidates-from-cvs/).

## Good hygiene for imports

  - Use one CSV per record type (companies, then contacts, then candidates).

  - Include an email column wherever you have one — email is the key Kepler uses to match records to synced conversations and to deduplicate.

  - Keep dates in a consistent format (ISO `YYYY-MM-DD` is safest).
