Tools Solutions Pricing Blog
Log in Start for free
← All articles

The Best Free CSV Import Tools for CRM (HubSpot, Salesforce, Pipedrive)

Free CSV import tools for CRM split into two categories that solve different problems: getting data in, and getting data clean. Here's an honest breakdown of which tool covers which, and why none cover both.

On this page

Every free CSV import tool for CRM work is good at exactly one of two things: getting a file into the system, or getting a file into a state where it’s worth importing. Almost none of them do both, and the confusion this causes is why people bounce between three different tools on the same import and still end up fixing rows by hand afterward.

The reason no single free tool covers both is architectural, not a matter of one vendor trying harder than another. Transport (parsing your file and writing it into the CRM’s database) and cleaning (deciding that closed won and Closed Won are the same value) are different kinds of work. Transport is a solved problem: every CRM ships an importer because the shape of the job never changes. Cleaning is an open-ended problem: it requires a canonical list that only you know, applied consistently across values nobody enumerated in advance. Building a good version of the first doesn’t get you any of the way toward the second, which is why HubSpot’s wizard and Salesforce’s Data Loader are excellent at the part they do and silent on the part they don’t.

The native CRM importers: excellent transport, no memory

Every major CRM ships a built-in CSV import wizard, and for a genuinely clean file, that’s all you need.

HubSpot’s import wizard walks you through matching columns to properties, creates contacts, companies, or deals, and flags rows that fail validation as it goes. Salesforce’s Data Import Wizard covers standard objects through a guided interface, and the desktop Data Loader handles larger or more complex jobs (see Salesforce CSV import: column names, picklist values, and common errors for how the two differ). Pipedrive’s import tool maps columns and supports updating existing records (full field-by-field detail in Pipedrive CSV import: column names, field types, and common errors).

All three are free, all three are well-built for what they do, and all three share the same limitation: they have no memory. Each import wizard runs as a self-contained session. It doesn’t know that you mapped these same 25 columns last Tuesday, and it doesn’t retain the picklist remapping decisions you made three imports ago. That’s not an oversight, it’s a consequence of the wizard being a stateless transport layer rather than a data management system. Every recurring import starts the mapping step from a blank slate, and every picklist mismatch gets flagged and fixed by hand, again, because nothing about last time’s decision was ever saved anywhere the wizard can read.

If your file arrives clean and this is a one-off import, that limitation costs you nothing. If the same file format lands weekly, it costs you the same 20 minutes of manual mapping every single week, indefinitely.

OpenRefine: real cleaning power, no idea what a CRM is

OpenRefine is a free, open-source desktop app built specifically for the cleaning problem the native importers ignore. It runs locally in your browser with no data leaving your machine, and its core feature, clustering, is genuinely different from what a spreadsheet or a CRM importer can do: it groups values that are probably the same thing ("NYC", "New York", "New York City") using algorithms like key collision and nearest-neighbor matching, rather than requiring an exact string match.

That’s a meaningfully different approach from picklist validation, which only ever checks for exact matches against a fixed list. OpenRefine doesn’t know what a fixed list is. It looks at the data itself and finds structure in it, which is exactly what you want when you’re facing a column with 40 unfamiliar variants and no defined canonical set yet.

What it doesn’t have is any concept of a CRM schema. It has no idea that HubSpot’s lifecyclestage field expects marketingqualifiedlead rather than MQL, because that’s not a data-clustering problem, it’s a destination-schema problem, and OpenRefine’s entire design is destination-agnostic. It’s also built around one-off projects: there’s a learning curve to its GREL expression language, and once you’ve cleaned a file, there’s no built-in way to apply the same transformation automatically to next month’s file from the same source. You did real cleaning work, but you did it once.

Spreadsheets: free, immediate, and structurally forgetful

Most people’s actual first move is Excel or Google Sheets: open the file, run some find-and-replace, fix a few dates with TEXT(), save, upload. For a small file with a couple of issues, this is genuinely the fastest path, and there’s no reason to reach for anything heavier.

It breaks down for a specific, predictable reason: a spreadsheet has no place to store a mapping outside of the file itself. The formula you build lives in that workbook. When you paste-special-values and delete the helper column, the logic is gone, not archived, gone. The next file, even from the identical source, gets the same formulas rebuilt from memory, or from a half-remembered previous version if you’re lucky enough to still have it open in another tab. Ten picklist columns across a few thousand rows is where this stops being a five-minute task and starts being the bulk of your afternoon, every time the file recurs.

Where a purpose-built tool closes the gap

Asphorem’s CSV Normalizer exists specifically to cover the space between transport and cleaning that the categories above split apart. The free tier handles 5,000 rows, 20 properties, and 20 AI matching runs a month, which covers most recurring import workflows on its own.

The mechanism that makes this different isn’t a bigger feature list, it’s persistence. A saved mapping remembers which source columns go to which CRM fields and how picklist values translate, the same way OpenRefine’s clustering remembers nothing and a CRM wizard’s session remembers nothing. AI-assisted picklist matching does the pattern recognition that a spreadsheet formula would otherwise need rebuilding by hand (catching typos, capitalisation drift, and language variants), and you review every suggestion before it’s applied, so a wrong guess doesn’t silently corrupt the output. File rows stay in your browser the entire time; only the unique values from the columns you choose to map are sent to the AI, which matters directly if your files carry data covered by GDPR.

Which tool for which situation

SituationBest option
One-off import, clean fileNative CRM importer
Complex one-off cleaning, large file, no recurrenceOpenRefine
Small file, few issues, already in ExcelGoogle Sheets / Excel
Same file format imported on a recurring scheduleAsphorem
Data merged from multiple sources with inconsistent valuesAsphorem
GDPR-sensitive contact dataAsphorem (rows stay in browser)

The pattern underneath all of this

Native importers solve transport and assume the data is already clean. OpenRefine solves cleaning but has never heard of a CRM schema. Spreadsheets solve light one-off cleanup but forget everything the moment you close the file. None of these are flaws exactly, they’re the natural result of each tool being built to solve a narrower problem well.

The fix that actually removes recurring import pain isn’t picking the single best tool from the table above. It’s separating the two jobs deliberately: define your column mapping and your picklist translations once, store them somewhere that persists between files, and apply them automatically every time the same format arrives. Whichever tool you use to get there, that’s the shift that turns a weekly hour of cleanup into a two-minute upload.

Free CSV Import Tools: Frequently Asked Questions

Is OpenRefine good for CRM CSV imports?

OpenRefine is excellent for one-off complex data cleaning (clustering inconsistent values, custom GREL transformations) but has no CRM schema awareness. It doesn’t save mappings for recurring imports, so if you receive the same file format weekly, OpenRefine doesn’t save time after the first run.

Can you import a CSV directly into HubSpot for free?

Yes. HubSpot’s native import wizard is free and supports contacts, companies, deals, and tickets. The catch: it doesn’t save column mappings or picklist remap decisions, so every recurring import repeats the same manual work. See why your HubSpot CSV import keeps failing for the most common HubSpot-specific gotchas.

What’s the best tool for recurring CSV imports from the same source?

A tool with saved column mappings and saved picklist translations. Native CRM importers don’t save either, because their session-based design has nowhere to persist that state between imports. Browser-based tools built around a saved mapping let the second import from the same source skip configuration entirely.

Are browser-based CSV cleaners safe for GDPR data?

Only if the file rows actually stay in the browser. Some “online” tools upload your file to a server. Asphorem processes file rows locally; only unique values from picklist columns are sent to the AI for matching, never the full dataset. See free CSV cleaner online: what it can fix for the trade-offs.

Can you clean a CSV without uploading it anywhere?

Yes, with browser-based tools that process locally (your file never leaves your machine), or desktop apps like OpenRefine. Spreadsheet apps (Excel, Google Sheets) also keep the file local, but don’t save mappings between files.

Stop fixing the same CSV problems every week

Asphorem maps your columns, standardises picklist values, and normalises dates so your next import works first time. Free plan included.

Start for free →