I INQUA
Sign in Create account
Guide

Salesforce Data Import Wizard limits (and what to do instead)

Every hard limit the Data Import Wizard imposes, taken from Salesforce's own documentation, with a workaround for each one.

The short answer: the Data Import Wizard loads up to 50,000 records at a time, from a CSV file of up to 100 MB, into accounts, contacts, leads, solutions, campaign members, person accounts, and custom objects — and nothing else. It cannot import Opportunities, Cases, Products, Price Books, or Users; it cannot delete; it cannot export; it cannot be scheduled; and it will not transform your data on the way in. If your job crosses any of those lines, the tool is Data Loader (or the Bulk API), not the wizard.

The limits, in one table

Every number below comes from Salesforce Help or the Data Loader Guide.

Limit The number Where it bites
Records per import 50,000 You cannot raise it. You split, or you switch tools.
Objects supported Accounts, contacts, leads, solutions, campaign members, person accounts, custom objects That list is exhaustive.
Objects not supported Everything else Opportunity, Case, Product2, Pricebook Entry, Opportunity Product, User, Asset, Contract, Order, Quote.
File format CSV only Converting Excel to CSV is where leading zeros, long IDs, and dates get mangled.
File size Up to 100 MB; no single record over 400 KB Rarely binding — the 50,000-row cap bites first.
Fields per record 90 The wizard maps up to 90 columns. The effective limit can be lower on objects with long field names, because the underlying mapping has its own character budget.
Notes and descriptions 32 KB each Longer text is truncated, not rejected. No error — just amputated content.
Operations Add, update, or add and update No delete. No export. A one-way door.
Matching key for updates Salesforce record ID, a unique External ID field, account name and site, contact email, or lead email Any other key, and you cannot update with the wizard.
Transformations None No trim, no find-and-replace, no value mapping, no date reformatting, no joins.
Scheduling / automation None A person uploads a file; results arrive by email. That is the whole loop.

When the wizard is genuinely the right tool

It gets unfairly maligned. For a large share of real imports it is the correct choice, and reaching past it costs you time. Use it when:

  • The object is on the supported list.
  • The file is under 50,000 rows and reasonably narrow.
  • The data is already clean and shaped like the target fields.
  • It is a one-off, run by hand.
  • You want its duplicate handling. The wizard can match on account name and site, contact email address, or lead email address, so a re-run does not double your database — a convenience Data Loader will not hand you for free.

It runs in the browser with no install, no API enablement, and no security token. If the job fits, use it.

Workaround per limit

More than 50,000 records

Switch tools. Salesforce documents Data Loader as handling CSV files with a maximum of 150,000,000 records when it uses Bulk API 2.0. It is free, it comes from Salesforce, and it is what the docs point you toward once you cross the wizard's ceiling. See how Data Loader compares if you have not used it.

Split the file. Tempting, occasionally fine — but understand what you are signing up for:

  • Parent-child ordering. A child can only point at a parent that already exists. Load every Account before any Contact; load parents before children on custom objects. Split by row count rather than by object and you will slice a parent away from its children, and the lookups fail.
  • No rollback across chunks. Each chunk is a separate job. If chunk 4 of 6 fails, the first three are already committed.
  • Six error reports, not one, which you merge by hand before you can even see the shape of the failure.
  • Matching happens per run. Duplicate handling evaluates the chunk you just uploaded, not the five queued behind it.

Splitting is reasonable for 60,000 rows of one flat object. It is a bad answer for 180,000 rows across three related objects.

The object is not supported

There is no workaround inside the wizard, and no Setup toggle that adds Cases to it. Opportunities are the case people hit first and hardest — the wizard has never supported them, and the API's three required fields (Name, StageName, CloseDate) plus the Account lookup most orgs expect make it a fiddly load. We wrote it up separately: importing Opportunities into Salesforce. For any unsupported object, Salesforce's own guidance is to use Data Loader — or the Bulk API, or a tool that speaks to the API on your behalf.

The data needs transformations or a join

The wizard maps columns to fields. It does not change what is inside them. So every one of these has to be solved before you upload:

Solve it in the file, with formulas, VLOOKUPs, and a lot of care — or solve it in a tool built to prepare the file. There is no third path: the wizard has no opinion about your data at all.

You need it to run on a schedule

Wrong tool, permanently. The wizard is a browser upload driven by a person, and it emails you when the job finishes. Data Loader's command-line interface (Windows only) can be scripted and scheduled; beyond that you are looking at an integration platform.

You need to delete, or you already imported garbage

The wizard cannot delete. If you have just imported 8,000 wrong records, your options are:

  • Mass Delete Records in Setup — covers accounts, leads, activities, contacts, cases, solutions, products, and reports, and deletes at most 250 records per run. It does not cover custom objects. At 250 a run, it is a tool for a mistake of tens, not thousands.
  • Data Loader — delete or hard delete by record ID, which means first exporting the IDs of what you loaded. For 8,000 rows this is the realistic answer.

Both are unpleasant, which is the argument for catching the problem in preview rather than in production.

Your data is in Excel, not CSV

The conversion is mandatory — and it is where a phone number loses its leading zero, an 18-character ID becomes scientific notation, and a date re-formats to your machine's locale. Why that happens, and how to avoid it.

What no import tool can do for you

This applies to the wizard, to Data Loader, and to us. Validation rules, required-field logic, Apex triggers, Flows, and duplicate rules all execute inside Salesforce at write time. A tool can tell you a picklist value will be rejected, because the accepted values are published in the object's metadata. It cannot tell you a Flow will reject the row, because that logic is code in your org. Expect a first run to surface org-side failures no file preparation would have caught, and read the error reference when it does.

Wizard vs. Data Loader vs. a preparation tool

Data Import Wizard Data Loader INQUA
Record ceiling 50,000 150,000,000 (Bulk API 2.0) Bulk API 2.0, but sized for interactive review — not nine-figure loads
Objects Seven supported types All Any object your org's API exposes, standard or custom
Input format CSV CSV CSV, TXT, XLSX, XLSM — read natively
Transformations None None 13 chainable per-column rules, value mapping among them
Joins across files No No Up to 5 files (1 primary + 4 lookups)
Delete No Yes No — never deletes, by design
Export from Salesforce No Yes No
Scheduling No Yes (CLI, Windows) No
Update by record ID Yes Yes No — insert, or upsert on an External ID

The honest read: Data Loader is the better loader. It deletes, it exports, it schedules, and it will move a hundred million records. What neither it nor the wizard does is help you get the file right in the first place — and that, not the upload, is where import days disappear.

INQUA sits in that gap. It reads your .xlsx or CSV as it is, joins up to five source files with a match-rate preview, applies per-column transformations (trim, find-and-replace, parse a date with an exact format, map values to the picklist entries the field actually accepts), and shows a typed preview with per-cell errors before anything is written. It captures the accepted picklist values from your org's metadata, so a value a restricted picklist would reject is flagged in preview rather than in an error email. Then it either writes a typed workbook onto your own load template — no Salesforce connection required — or performs a Bulk API 2.0 insert or External-ID upsert, double-confirmed. It refuses the upload outright while any cell error remains.

What it does not do, so you can rule it out quickly: it does not delete, does not export records from Salesforce, does not schedule jobs, and does not update by record Id. It cannot simulate your validation rules, triggers, Flows, or duplicate rules — nothing outside your org can. It is free during early access, and the whole preparation half works without connecting Salesforce at all. Start from a load template if you do not have one.

The short version

  1. Under 50,000 rows, supported object, clean data, one-off — use the wizard.
  2. Unsupported object, or you need delete, export, or scheduling — use Data Loader.
  3. The file needs work before either will accept it — fix the file first, in something that shows you the errors before Salesforce does.

Frequently asked

How many records can the Salesforce Data Import Wizard import at once?

Up to 50,000 records per import. The limit is fixed and cannot be raised in Setup. Above 50,000 you either split the file into chunks of under 50,000 rows each, or switch to Data Loader, which handles CSV files of up to 150,000,000 records through Bulk API 2.0. Splitting is only safe if you keep parent records ahead of their children.

Which objects does the Data Import Wizard support?

Accounts, contacts, leads, solutions, campaign members, person accounts, and custom objects. That list is exhaustive. Opportunities, Cases, Products, Price Books, Opportunity Products, Users, Assets, Contracts, Orders, and Quotes are not supported and cannot be added. For any of those, use Data Loader or the API.

Can the Data Import Wizard import Opportunities?

No. Opportunity is not on the supported object list and there is no setting that adds it. Salesforce's guidance is to use Data Loader for any object the wizard does not support. The API requires three fields on an Opportunity — Name, StageName, and CloseDate. AccountId is not required by the API, but almost every org wants each Opportunity attached to an Account, so plan on supplying it.

Can the Data Import Wizard delete records?

No. It only adds records, updates existing ones, or does both. If you have imported records in error, an administrator can use Mass Delete Records in Setup — it covers accounts, leads, activities, contacts, cases, solutions, products, and reports, but not custom objects, and it deletes at most 250 records per run. For anything larger, delete by record ID with Data Loader, which means exporting those IDs first.

What is the file size limit for the Data Import Wizard?

The import file can be up to 100 MB, and no single record in it may exceed 400 KB. You can import up to 90 fields per record, and each imported note or description is capped at 32 KB — longer text is truncated rather than rejected. In practice the 50,000-record cap binds long before the file size does.

Does the Data Import Wizard accept Excel files?

No — CSV only. You have to export your XLSX to CSV first, which is where leading zeros disappear, 18-character IDs turn into scientific notation, and dates re-format to your machine's locale. Tools that read the workbook natively skip that conversion and the corruption that comes with it.

Can I schedule the Data Import Wizard to run automatically?

No. It is a manual browser upload and it notifies you by email when the job finishes. Data Loader's command-line interface, which is Windows only, can be scripted and scheduled for recurring loads. Anything more elaborate belongs in a proper integration tool.