All guides

A Swiss CSV: semicolons, a decimal point, and apostrophes inside the numbers

Switzerland is the exception to the European pattern. The separator is a semicolon like its neighbours, but the decimal mark is a full stop, not a comma, and thousands are grouped with an apostrophe: 1'234.56. That combination means the standard European number conversion has nothing to do here — and the apostrophes still have to come out.

What a Swiss file usually looks like

Saved by a spreadsheet set to German (Switzerland), the file has a semicolon between the fields, a full stop as the decimal mark and an apostrophe between thousands, so one thousand two hundred and thirty-four and a half is written 1'234.56. Dates are written DD.MM.YYYY: the last day of 2026 is 31.12.2026.

The separator is not a character any of the numbers contain, so nothing in the file needs quoting to survive — which is exactly why the amounts and the fields can be told apart at all.

None of this is a rule the file carries with it — there is no country written inside a CSV. It is what the program that wrote the file was set to, which is why every tool here reads the bytes and says what it found rather than trusting a flag.

Why the usual conversion does not apply

The delimiter fixer converts a column when nearly every value in it reads as a number written the European way — a comma before the cents. In a Swiss file the cents already follow a full stop, so no value matches that shape, no column qualifies, and nothing is rewritten. That is the correct outcome rather than a gap: the decimals are already in the form the rest of the world expects, and rewriting them would be damage.

What the fixer does do for a Swiss file is the other two jobs — the semicolons become commas and the text is decoded by what the bytes actually are, so an older Windows-1252 export comes through with its umlauts intact and the copy you download is clean UTF-8.

A Swiss file is therefore the one case on these pages where turning the number conversion off changes nothing at all. Leaving it on is equally safe; it simply finds no column to act on.

The apostrophes are the work

That leaves 1'234.56, and the apostrophe is not a number character. A value containing one is text to every database and every spreadsheet formula, so the column will not total and will not sort as money. Find and replace here takes them out across the whole file: search for the apostrophe and replace it with nothing, and the count of replacements tells you whether you found them all.

Take care which apostrophe you search for. Some systems write the straight one and others the curly typographic one, and they are different characters that look nearly identical at small sizes. Copy the character out of one of your own amounts rather than typing it, and if the count comes back lower than expected, run the search again with the other one.

Dates are written 31.12.2026 with dots, day first, and cannot be confused with the English order by any reader that knows the pattern — %d.%m.%Y in the console turns the column into real dates.

The sample file

Rechnung;Kunde;Datum;Betrag
INV-1001;Beispiel AG;31.12.2026;1'234.56
INV-1002;Müller Muster GmbH;02.03.2026;89.50
INV-1003;Vorlage AG;05.06.2026;32.10
INV-1004;Probe AG;12.11.2026;24'680.00
INV-1005;Musterfirma GmbH;20.01.2026;410.00

Obviously made-up data, small enough to read. Download it and drop it on the tool to see the fix before trying your own file.

Questions

Does Switzerland use a decimal comma?
No, and that is what makes it different from its neighbours. The decimal mark is a full stop and thousands are grouped with an apostrophe, so an amount reads 1'234.56.
Why did the number conversion not change anything?
Because there was nothing for it to change. It rewrites decimal commas, and a Swiss file has none, so no column qualifies and every amount is carried across exactly as written.
How do I get rid of the apostrophes?
Find and replace across the file: search for the apostrophe, replace it with nothing, and check the count against the number of grouped amounts you expected to find.
Which apostrophe is in my file?
It may be the straight one or the curly typographic one, and they look almost identical. Copy the character out of one of your own values rather than typing it, and try the other if the count comes back short.
Why is a Swiss CSV still separated by semicolons?
Because the list separator follows the regional settings rather than the decimal mark, and Swiss settings use a semicolon. The file opens as one column anywhere that expects commas.
Is my Swiss file sent anywhere?
No. The replacement and the conversion both run in this page on your own machine, with outbound connections blocked by the browser while you work.