Skip to content
TheSpreadFix

Column Mapper

Pick a destination (HubSpot, Shopify, a generic contact list) and the tool maps your columns to the expected names. Exact matches and known aliases are detected automatically. You review the mapping, fix any mistakes, and download a file whose columns match what your import needs.

Drop a CSV or Excel file here

.csv, .xlsx, .tsv

Your file stays on your device. Column mapping runs in your browser — nothing is uploaded.

How it works

  1. Step 1

    Upload your file

    CSV or XLSX. The file is read and processed in your browser — nothing is uploaded.

  2. Step 2

    Pick a destination

    Choose HubSpot Contacts, Shopify Products, a generic contact list, or set up custom targets.

  3. Step 3

    Review & download

    Auto-detected matches are pre-filled. Adjust any columns, then download the re-mapped file.

What it checks and fixes

Synonym matching

Common aliases like 'fname' → 'First Name', 'mobile' → 'Phone', 'organisation' → 'Company Name' are matched automatically.

Fuzzy matching

Columns with similar but not identical names (like 'E-mail Address' → 'Email') are suggested with a confidence score.

One-to-one assignment

Each source column is used at most once. The best match wins — no double assignments.

Multiple templates

HubSpot Contacts, Shopify Products and a generic CRM contact list are built in. More destinations are coming.

Why column names matter for imports

Most import tools match columns by name. If your file says 'E-mail' and the importer expects 'Email', the column is skipped or the import fails. Renaming manually is tedious and error-prone, especially with 20+ columns.

This tool does the renaming for you, using a database of common aliases and fuzzy matching. You still review every mapping before anything changes.

How auto-detection works

Each source column is compared against every expected column name plus its aliases. Exact name matches score 1.0. Known synonyms (like 'fname' for 'First Name') score 0.95. Partial token overlap and Levenshtein distance handle the rest.

Scores above 0.9 are auto-filled ('detected'). Scores between 0.6 and 0.9 are shown as suggestions. Below 0.6, the column is left unmapped — it's better to leave it blank than to guess wrong.

Frequently asked questions

Is my data uploaded?

No. Column mapping runs entirely in your browser. Your file stays on your device.

Does it rename my data, or just the headers?

Only the headers are renamed. Your data values are moved to the correct columns unchanged.

Can I add my own destination template?

Custom templates aren't built yet. Use the generic contact list and adjust the mapping manually for now.

What if my file has extra columns?

Columns that don't map to any expected field are left out of the downloaded file. The original file is untouched.