# Import contacts from a CSV

Upload a spreadsheet of contacts, match its columns to FundHero fields, and undo the import if something looks wrong.

Source: https://www.fundhero.com/help/import-contacts/
Updated: 2026-10-20

To import contacts, open the gear menu, choose **Imports** > **New Import** > **Contacts**, upload a CSV file and match its columns to FundHero's fields. Each plan has a limit on how many contacts your team can hold.

## Before you start

- Save your spreadsheet as a CSV (comma separated values) file. Excel and Google Sheets can both export this format.
- If you want the imported contacts in a group, [create the group](https://www.fundhero.com/help/groups/) first. You pick it during the import.
- Check your plan's limit (see below). The import stops before it starts if the file would put you over.

## Import your contacts

1. Select the gear menu in the top bar, then **Imports**.
2. Select **New Import**.
3. Under "What type of import would you like to proceed with?", choose **Contacts** ("Bulk import contacts"), then **Next**.
4. Select "Download contacts CSV template here." Copy your data into the template's columns and save it as a CSV.
5. Choose your file, then select **Next**.
6. On "Now let's match the columns in your upload file to your donor database", set each FundHero field to one of your CSV's columns. If a CSV header matches a field's name exactly, FundHero fills it in for you. Next to each column name you can see an example value from your first row. Choose **NONE** to skip a field.
7. Optional: under "Add a group to your import to keep them organized", choose a group. Every imported contact is added to it.
8. Select **Import N Contacts**.

### Fields you can map

First Name, Last Name, Mobile, Work, Title, Home, Email, Secondary Email, Address, Address 2, City, State, Zip Code, Organization, Contact Type, Note and Ask Amount.

Map at least one of **First Name**, **Last Name** or **Organization**, or FundHero will ask you to select one. State can be a two-letter code or a full state name. **Contact Type** decides whether each row is an individual or an organization. See [Individuals vs. organizations](https://www.fundhero.com/help/individuals-vs-organizations/).

Rows with no name, email or organization are skipped. FundHero also skips rows it treats as duplicates and lists them as "Duplicate contact". It doesn't say what counts as a duplicate, so after a large import, check the **Potential Duplicates** list in [Built-in smart lists](https://www.fundhero.com/help/built-in-smart-lists/#potential-duplicates).

## Plan limits

The import is checked against the total number of contacts on your team, including the ones in the file:

| Plan | Import limit |
|---|---|
| Basic | 500 contacts |
| Professional | 2,500 contacts |
| Organization | 10,000 contacts |

If the file would go over, FundHero shows how many contacts you are over by and offers **Upgrade Plan**. On Organization, contact FundHero if you need a higher limit. Remove rows from the file and try again if you'd rather not upgrade.

## After the import

When it finishes, FundHero shows "Contact import completed" with how many contacts were successfully imported and how many failed. Skipped rows are listed with the reason, such as "Duplicate contact".

- Select **Download Errors CSV** to save the rows that failed. Fix them and run a new import with just those rows.
- Select **Close** to return to the Imports page.

The Imports page keeps a record on its **Contacts** tab: "Contact Import from CSV", how many contacts were added and the date.

## Undo an import

Select **Undo Import** on that record. FundHero removes the contacts that import created, along with any donations attached to them, and shows "Undo import Successful". Use it straight away if the mapping was wrong. There is no confirmation step.
