How to reorder csv columns for a salesforce data import
- Step 1Pick the Salesforce object and note its key fields — Decide whether you are importing Contacts, Leads, Accounts, or a custom object. Note the fields you will map — for Contacts:
FirstName,LastName,Email,Phone,Account Name; for Leads:Company,LastName,Email,Status. - Step 2Export a sample to see Salesforce's standard layout — Run a small export of existing records (Reports or Data Loader) to see the canonical field order Salesforce uses. Matching your source CSV to that order makes the wizard's mapping easier to confirm.
- Step 3Drop your source CSV onto the tool — Accepted inputs are
.csv,.tsv, and.txt; the delimiter is auto-detected. The tool reads the header row and lists each column with its current position number. - Step 4Reorder columns into the target field order — Use the arrows to lift the identity fields to the top (
FirstName,LastName,Email,Phone), then group address fields (Mailing Street,Mailing City,Mailing State), and push custom or unused fields toward the end. - Step 5Apply the order and check the preview — Click Apply order and confirm the first-10-rows preview shows the columns where you expect them —
Emailnear the front, address fields grouped. Re-drop the source file to start over; it is never modified. - Step 6Import via the Data Import Wizard — Click Download CSV and upload the reordered file in Setup → Data Import Wizard. With identity fields first, the wizard's auto-mapping is more accurate; still review each mapping and the matching/duplicate-handling options before you run the import.
Suggested column order by Salesforce object
The Data Import Wizard maps by header name, so these are a recommended layout for fast, low-error mapping — not a hard requirement. Header names should resemble Salesforce field labels for the wizard's auto-suggest to match.
| Object | Lead columns (front to back) | Notes |
|---|---|---|
| Contact | FirstName, LastName, Email, Phone, Title, Account Name, Mailing Street, Mailing City, Mailing State, Mailing Postal Code, Mailing Country | LastName is required by Salesforce; keep it near the front so the mapping is obvious |
| Lead | FirstName, LastName, Company, Email, Phone, Title, Lead Status, Lead Source, Industry, City, State, Country | Company and LastName are required for Leads |
| Account | Account Name, Type, Industry, Phone, Website, Billing Street, Billing City, Billing State, Billing Postal Code, Billing Country | Account Name is required; keep billing-address fields grouped |
| Custom object | Name (or external ID) first, then required fields, then optional/custom fields | Any headers work — the tool never assumes a schema; put your matching/external-ID field first |
Reorder vs. the other prep steps an import may need
This tool only repositions columns. The right-hand column shows where to do each other operation.
| Need | This tool? | Use instead |
|---|---|---|
| Reposition columns for fast wizard mapping | Yes | This tool |
| Rename a header to a Salesforce field label | No — names unchanged | csv-header-rename |
| Remove columns Salesforce will not import | No — all columns kept | csv-column-remover |
| Combine a full name into FirstName + LastName, or split a column | No | csv-column-value-splitter |
| Merge data from two source CRMs into one file | No — single file in/out | csv-merger |
Free vs Pro limits for this tool
Limits apply to the processed result; over the ceiling the tool shows an upgrade prompt.
| Constraint | Free | Pro |
|---|---|---|
| Input file size | 2 MB | 100 MB |
| Result row cap | 500 rows | 100,000 rows |
| Cell values | Never modified | Never modified |
| Preview | First 10 rows | First 10 rows |
Cookbook
Real before/after layouts from CRM and spreadsheet exports headed into the Salesforce Data Import Wizard. PII is illustrative.
HubSpot contact export reordered for the Contact object
ExampleA HubSpot export puts Email and identity fields out of order. Reorder to FirstName, LastName, Email, Phone so the wizard's auto-mapping suggestions land.
Before (HubSpot order): Company,Phone,Email,First Name,Last Name,City Acme,555-0101,sam@acme.com,Sam,Lee,Austin After (Apply order = First Name, Last Name, Email, Phone, Company, City): First Name,Last Name,Email,Phone,Company,City Sam,Lee,sam@acme.com,555-0101,Acme,Austin
Lead import with required fields scattered
ExampleSalesforce requires Company and LastName for Leads. Lift them to the front so a mis-map cannot leave a required field unmapped.
Before: Industry,Email,Last Name,Lead Source,Company,First Name SaaS,jo@x.io,Park,Webinar,Northwind,Jo After (Apply order = First Name, Last Name, Company, Email, Lead Source, Industry): First Name,Last Name,Company,Email,Lead Source,Industry Jo,Park,Northwind,jo@x.io,Webinar,SaaS
Group mailing-address fields to avoid billing/mailing mix-ups
ExampleWhen Mailing and Billing fields are interleaved, it is easy to map Mailing City to Billing City. Group the mailing block together to make the mapping clear.
Before: Last Name,Mailing City,Billing City,Email,Mailing State,Billing State Ng,Denver,Reno,a@x.com,CO,NV After (mailing block grouped, billing block grouped): Last Name,Email,Mailing City,Mailing State,Billing City,Billing State Ng,a@x.com,Denver,CO,Reno,NV
Custom object — put the external-ID field first
ExampleFor upserts on a custom object, the external-ID column drives matching. Reorder it to position 1 so it is the first thing you map.
Before: Status__c,Name,Region__c,Legacy_Id__c Active,North Depot,EMEA,LEG-4471 After (Apply order = Legacy_Id__c, Name, Region__c, Status__c): Legacy_Id__c,Name,Region__c,Status__c LEG-4471,North Depot,EMEA,Active
Reorder then split a full-name column
ExampleSalesforce Contacts use FirstName and LastName, but a source CSV may have one Name column. Reorder here for layout, then split the name in the dedicated tool.
Step 1 — reorder here: Name,Email,Phone Sam Lee,sam@acme.com,555-0101 Step 2 — csv-column-value-splitter (or a split tool) produces: First Name,Last Name,Email,Phone Sam,Lee,sam@acme.com,555-0101
Errors and edge cases
Real errors and silent failures sourced from each platform's own documentation. Match the wording to the row, fix what the row says to fix.
The wizard maps by name — reorder is a convenience, not a requirement
By designThe Salesforce Data Import Wizard matches columns to fields by header name on the mapping screen, so a correct column can sit anywhere. Reordering does not change which fields map; it makes the mapping faster to set up and easier to verify, and helps the wizard's auto-suggest. If a field still will not map, the cause is the header name, not the position.
Header names do not resemble Salesforce field labels
Check inputAuto-mapping leans on header text. A column named Mobile may not auto-map to MobilePhone. Reordering will not rename it — use csv-header-rename to align headers with Salesforce labels first, then reorder for layout.
Required field (LastName / Company) left unmapped
Import errorSalesforce rejects Contact rows without LastName and Lead rows without Company/LastName. Reordering these to the front makes them impossible to overlook on the mapping screen, but the tool cannot create a missing field — if the column is absent entirely, add it at the source before importing.
All columns are kept — extra fields stay in the file
By designThe browser tool preserves every column. Fields you do not map in the wizard are simply ignored on import, so leftover columns are harmless. If you want a leaner file, remove unused columns with csv-column-remover after reordering.
Mailing vs billing address columns confused
Check inputInterleaved Mailing and Billing address columns are easy to mis-map. Grouping each address block together (all Mailing fields adjacent, all Billing fields adjacent) makes the wizard mapping unambiguous. The tool cannot tell the two apart — it relies on you grouping them.
Free tier blocks files over 2 MB
Upgrade requiredA large CRM export can exceed 2 MB and shows an upgrade prompt on free. Pro raises the file limit to 100 MB. To stay on free, split the export with csv-row-splitter and reorder each chunk, or run the import in batches.
Result over 500 rows blocks on free
Upgrade requiredFree caps the processed result at 500 rows. A contact list of thousands exceeds this. Pro lifts the cap to 100,000 rows. The Data Import Wizard itself also has its own row guidance for large loads (Data Loader is recommended for very large volumes), independent of this tool's limits.
Emails with commas or quotes inside a field
PreservedDisplay-name-style values such as "Lee, Sam <sam@acme.com>" contain commas and are quoted; the parser preserves and re-quotes them on output so the column never splits. Reordering does not alter the value — if you need just the address, clean it with csv-find-replace.
Frequently asked questions
Does the Salesforce Data Import Wizard map by column name or position?
By name. On the wizard's mapping screen you match each CSV header to a Salesforce field, so a correctly named column can be in any position. Reordering to a standard layout (identity fields first, address grouped) makes that mapping faster to set up and verify, and improves the accuracy of the wizard's auto-suggestions — but it is a convenience, not a hard requirement.
Will reordering change my contact or lead data?
No. The tool repositions columns only; every cell — emails, phone numbers, record IDs — is preserved exactly. Fields containing commas or quotes are re-quoted on output so they parse correctly, but the content is identical. To change values, use a dedicated tool like csv-find-replace.
How do I reorder — is it drag and drop?
You reorder with up/down arrow buttons. Each column is listed with its current position number; the arrows move it one step at a time. There is no drag-and-drop, which keeps reordering reliable on a wide CRM export. Click an arrow repeatedly to move a column several positions.
Can I use this for Salesforce custom objects?
Yes. Any CSV with any headers can be reordered — the tool assumes no schema. For custom objects, put your matching or external-ID field first so it is the first column you map in the wizard, followed by required fields, then optional and custom fields.
My headers do not match Salesforce field names. What now?
Rename them first with csv-header-rename so they resemble Salesforce field labels (MobilePhone, Mailing City, etc.), which helps the wizard auto-map, then reorder here for layout. Reordering never renames a column, so a mismatched header stays mismatched until you rename it.
Can I drop columns Salesforce will not use?
Not in this tool — it keeps every column so nothing is lost by accident. Reorder here, then use csv-column-remover to delete unused columns. Note that the wizard ignores any column you do not map, so removing extras is optional cleanup rather than a requirement.
My source has one Name column but Salesforce wants FirstName and LastName. Can this help?
Reordering positions the Name column, but it cannot split it. Use csv-column-value-splitter (or a split step) to break Name into FirstName and LastName, then reorder the resulting columns into your target layout here.
What file types and delimiters are supported?
.csv, .tsv, and .txt, with the delimiter auto-detected — so a tab- or semicolon-separated export from another CRM works without configuration. Output is always comma-separated CSV, which the Data Import Wizard accepts.
What are the size limits?
Free handles files up to 2 MB and caps the result at 500 rows, then shows an upgrade prompt. Pro raises this to 100 MB and 100,000 rows. For very large loads Salesforce itself recommends Data Loader over the wizard; split files for this tool with csv-row-splitter on free.
Is my CRM data uploaded to JAD Apps?
No. Parsing and reordering happen entirely in your browser via PapaParse. Contact names, emails, phone numbers, and account data never reach a JAD server. When signed in, only a usage counter (no content) is recorded, which you can opt out of in account settings — useful when handling customer PII under GDPR/CCPA.
Can I prepare CSVs from two CRMs in one import?
Combine them first with csv-merger (align the headers across both sources), then reorder the merged file here into your target Salesforce layout. Watch the free-tier 500-row cap on the combined file, or upgrade to Pro for larger loads.
Can I automate the reorder before a scheduled import?
Yes, via the public CSV API / @jadapps/runner. Pass order as an array of header names (matched case-insensitively) or 0-based indices. One difference from the browser tool: in the API path, columns omitted from order are dropped, whereas the browser UI keeps every column — so when automating, list every column you want to keep, in order.
Privacy first
Processing runs locally in your browser with PapaParse. No file is uploaded — only metadata counters are saved for signed-in dashboard stats.