visibility Static layout preview of Map Columns, shown with a file imported, an interactive target schema + mapping configured, and a completed run (results + mapped preview). All pages →

Map Columns

Runs 100% locally

Rename columns, change their order, and set each one as text, number, or date.

description Using crm_contacts_raw.csv from the upload screen.
Preview: crm_contacts_raw.csv

4,210 rows, 6 columns

Full NameEmailAddrPhone #SignupAmount SpentNotes
0Jane Doejane@acme.io512-555-019001/04/2024$1,204.50VIP
1Bob Smithbob@globex.com720-555-778102/11/2024$88.00
2Carla Reyescarla@initech.net415-555-332203/02/2024$612.10renewal
3Dev Pateldev@umbrella.co206-555-904303/19/2024$0.00

Options

Target schema

Build interactively (start from current columns) Import schema JSON Skip (rename / convert types only — no schema)
An interactive build is fastest for one-off cleanup. Import a JSON when you have a fixed contract (a CRM import format, db schema). Skip when you only want to rename or convert the type of specific columns.

Edit the table to define your target schema. Add rows for fields the input doesn't have yet (with a default), or remove rows for columns you want to drop.

Target nameTypeRequiredDefault (for added cols)Aliases (comma-sep, helps fuzzy-match)
full_namestringFull Name, name
emailstringEmailAddr, email_address
phonestringPhone #, tel
signup_datedateSignup
amount_spentfloat0.0Amount Spent
sourcestringcrm-import
add add row

6 target fields · 1 added field (source) not present in the input.


Mapping

SourceTargetAuto-suggested
Full Namefull_name
EmailAddremail
Phone #phone
Signupsignup_date
Amount Spentamount_spent
Notes(unmapped)

Pick a target for each source column. Notes stays unmapped — with the keep-extras strategy it is kept as-is. source is added from the schema default.


Strategy

rename-only (just rename, leave types alone, keep extras) lenient-schema (rename + convert types + reorder, keep extras) strict-schema (rename + convert types + reorder, drop extras) base Custom — based on strict-schema, 1 control changed modified
rule Individual Advanced controls win over the preset. You started from strict-schema, then changed Unmapped source columns to keep below — so the preset is now Custom. The controls' current values are what actually run.
Pick a strategy as the baseline. Every Advanced toggle below is still individually overridable; overriding any one switches the preset to Custom.
Advanced options
keep
Winning value: keep. Overrides the strict-schema base (drop) — so Notes survives into the output.
check Convert each column to the right type
check Reorder to schema order
check Auto-infer mapping (fuzzy match)
0.80
check Enforce required fields


Results

Renamed
5
Dropped
0
Added
1
Coerce fails
3
infoAdded (with defaults): source
warningSome cells could not be coerced and were left as NaN: amount_spent (3)

Mapped preview (first 10 rows)

full_nameemailphonesignup_dateamount_spentsourceNotes
0Jane Doejane@acme.io512-555-01902024-01-041204.5crm-importVIP
1Bob Smithbob@globex.com720-555-77812024-02-1188.0crm-import
2Carla Reyescarla@initech.net415-555-33222024-03-02612.1crm-importrenewal
3Dev Pateldev@umbrella.co206-555-90432024-03-190.0crm-import
4Mei Linmei@hooli.com503-555-11882024-04-07NaNcrm-importtrial

arrow_forwardColumns mapped. Run the recommended clean →