Why European CSV Files Break in CRM Imports (and How to Fix Them)
CSV files from French or German Excel use semicolons, comma decimals, and DD/MM/YYYY dates. Here's what breaks when you upload them to HubSpot, Salesforce, or Pipedrive, and how to fix it.
You export your contacts from Excel on a French or German Windows machine. The file looks fine. You upload it to HubSpot. The import wizard reads your entire first row as a single column header, or imports 500 contacts into one field. Or the import works but your deal values are off by a factor of 1000.
None of this is a HubSpot bug. It’s a mismatch between how European versions of Excel format CSV files by default and what US-hosted CRMs expect.
Here’s what’s different and how to fix each issue.
The delimiter problem
The most visible issue, and the first one you’ll hit.
What happens: You open your exported file in a text editor and see:
Prénom;Nom;Email;Entreprise
Marie;Dupont;[email protected];Acme
Jean;Martin;[email protected];Contoso
Semicolons between fields, not commas. French and German versions of Excel use the regional list separator defined in Windows, which is a semicolon (;) in French and German locales. The file is technically valid CSV, but most import wizards expect commas by default.
What breaks: HubSpot, Salesforce, and Pipedrive all expect comma-separated files. When they receive a semicolon-separated file, each entire row is read as a single value. The import wizard shows one column containing everything.
How to fix it in Excel:
Open the CSV, then Save As → CSV (Comma delimited). This forces Excel to save with commas regardless of your locale settings.
If the file uses commas as decimal separators (which it will — see the next section), you need to resolve both issues at the same time, not just re-save. Otherwise fixing the delimiter will break your numbers.
How to fix it in a text editor:
Open the file in Notepad++ or VS Code. Use Find & Replace with ; → ,. This works if your data doesn’t contain commas inside any field values. If it does (company names like “Dupont, SARL”), those fields need to be wrapped in quotes first.
The decimal separator problem
Harder to notice, more expensive if it gets through.
What happens: European number formatting uses a comma as the decimal separator and a period as the thousands separator. 1.234,56 is one thousand two hundred thirty-four point fifty-six. In US formatting, that same number is written 1,234.56.
When a European CSV with 1.234,56 is read by a US-locale system, the comma is interpreted as a field delimiter. Your number column gets split across two fields, or the value is treated as text and imported as blank.
What breaks: Revenue fields, deal values, quantities, percentages. A deal worth €250.000 (European notation for 250,000) imports as 250 with the .000 either cut off or routed to the next column.
How to fix it:
Before saving the CSV for import, convert your number columns to US format. In Excel:
- Select the number column
- Format Cells → Number → set Decimal places and uncheck “Use 1000 Separator” or switch the separator style
- Then save as CSV (Comma delimited)
Alternatively, use Find & Replace: replace . with nothing (removes the thousands separator), then replace , with . (converts the decimal separator). Do this on number columns only, in order, or you’ll corrupt other data.
Asphorem’s CSV Importer handles this at the file level with a format selector: choose EU or US number format before parsing, and the tool normalises all number columns consistently before processing.
The date format problem
What happens: European date convention is DD/MM/YYYY. 05/01/2024 means January 5th, not May 1st.
HubSpot expects YYYY-MM-DD. Salesforce’s Data Import Wizard expects MM/DD/YYYY. Both will either reject the date or, more dangerously, import it with the wrong value if the day and month are both valid numbers (anything where day ≤ 12 is ambiguous).
What breaks: Close dates, creation dates, contract start and end dates. A deal closed on May 1st imports as January 5th. A contract expiring in February 2025 imports as a date in 2025 but the wrong month, with no error.
How to fix it:
Convert all date columns to YYYY-MM-DD before exporting. In Excel:
=TEXT(A1,"YYYY-MM-DD")
Apply this formula to a helper column, paste-special-values over it, then delete the original column and rename the helper.
In Google Sheets the same formula works for cells stored as dates. For cells stored as text in DD/MM/YYYY format, you need to reconstruct the date:
=TEXT(DATE(RIGHT(A1,4), MID(A1,4,2), LEFT(A1,2)), "YYYY-MM-DD")
The encoding problem
What happens: European names frequently contain accented characters: é, è, ü, ñ, ç, ô. Windows Excel saves CSV files in Windows-1252 encoding by default. When a UTF-8-expecting system reads a Windows-1252 file, those characters appear as garbled strings: é, ü, ñ.
What breaks: Contact names (Lefèvre → Lefèvre), company names (Société Générale → Société Générale), addresses, any field with non-ASCII characters.
How to fix it:
In Excel, use Save As → CSV UTF-8 (Comma delimited) instead of the standard CSV option. The UTF-8 variant is available in Excel 2016 and later.
In Google Sheets, downloads are always UTF-8, so if you have access to the file, open it in Sheets and re-download as CSV from there.
If you’ve received a file and can’t re-export: open it in Notepad++, check the encoding shown in the bottom bar, and use Encoding → Convert to UTF-8 before saving.
How to export a clean CSV from French or German Excel
To produce a file that any CRM can import without issues:
- Open your data in Excel
- Convert number columns from European to US format (commas → periods for decimals)
- Convert date columns to
YYYY-MM-DDusing aTEXT()formula - Go to File → Save As
- Choose “CSV UTF-8 (Comma delimited)” as the file type (not “CSV (Comma delimited)” and not “CSV (MS-DOS)”)
- Verify: open the saved file in a text editor and confirm commas between fields, periods for decimals, and no garbled characters
If you received the file from someone else
You can’t control how they exported it. Check:
- Open in a text editor first. If you see semicolons between values, it’s using a European delimiter.
- Check a number field: if you see
1.234,56style formatting, European decimals need converting. - Check a date field: if you see
DD/MM/YYYY, convert before uploading. - Check for accented characters: if they look wrong in the text editor, re-encode to UTF-8.
Before you import: the checklist
- File uses commas as field delimiter (not semicolons)
- Number columns use period as decimal separator (not comma)
- Date columns are in
YYYY-MM-DDformat - File is saved as UTF-8 (not Windows-1252 or Latin-1)
- Verified in a text editor, not just Excel (Excel auto-corrects some of these on open)
If you import from European sources regularly, Asphorem’s CSV Importer lets you select EU or US number format at upload and configure the output separator per preset, so the same file format gets handled the same way every time without manual conversion steps.
European CSV imports: frequently asked questions
Why does my French Excel CSV import as one column?
French and German Excel saves CSV files with semicolons as delimiters, not commas. Most CRM import wizards expect commas, so the entire row is read as a single field. Re-save in Excel as “CSV (Comma delimited)” or replace ; with , in a text editor.
How do you convert European decimal format to US format?
In a number column with values like 1.234,56: replace . with nothing first (removes thousands separator), then replace , with . (converts decimal). Run the steps in that order or you’ll corrupt the values. Apply to number columns only, not to dates or text.
What’s the difference between CSV and CSV UTF-8 in Excel?
“CSV (Comma delimited)” saves in your system’s locale encoding (usually Windows-1252 on French/German Windows). “CSV UTF-8 (Comma delimited)” saves in UTF-8 with a BOM, which preserves accented characters across systems. Use the UTF-8 variant for any file with é, ü, ñ, ç, etc.
How do you fix garbled accent characters in a CSV file?
If Lefèvre appears as Lefèvre, the file is UTF-8 read as Windows-1252 (or vice versa). Open in Notepad++ or VS Code, change encoding to the source encoding, verify characters render correctly, then save as UTF-8. Full recovery steps in how to fix encoding errors in a CSV file.
How do I convert DD/MM/YYYY to YYYY-MM-DD in a European CSV?
Use =TEXT(DATE(RIGHT(A1,4), MID(A1,4,2), LEFT(A1,2)), "YYYY-MM-DD") in Google Sheets, or a regex find-and-replace in VS Code: find (\d{2})/(\d{2})/(\d{4}) and replace with $3-$2-$1. See how to standardise date formats in a CSV for the full conversion guide.
Asphorem maps your columns, standardises picklist values, and normalises dates so your next import works first time. Free plan included.