Decimal Separator: 1,234.56 or 1.234,56?
Updated 2026-09-07
1.234,56 and 1,234.56 are the same quantity. One is written the way most of Europe writes it, the other the way the United States does, and there is nothing in either string that says which convention it belongs to. A reader who knows the document knows the answer immediately. Software reading a photograph does not have the document.
That is the whole problem, and its consequences are unusually large. Misjudge the convention and 1234.56 comes out as 1.23456 or as 123456 — a thousand times too small one way, a hundred times too big the other, from a single character read correctly and interpreted wrongly.
Which mark means what, and where
| Written as | Decimal mark | Group mark | Common in |
|---|---|---|---|
1,234.56 | point | comma | United States, United Kingdom, Ireland, Australia, Mexico, China, Japan |
1.234,56 | comma | point | Germany, Italy, the Netherlands, Denmark, Brazil, Indonesia |
1 234,56 | comma | space | France, South Africa, and much official European usage |
1'234.56 | point | apostrophe | Switzerland |
12,34,567.89 | point | comma, grouped 2-2-3 | India — lakh and crore, so grouping is not every three digits |
1 234.56 | point | space | The SI form in English-language technical documents |
Two entries in that table deserve a second look. Switzerland uses a point for decimals like the US but an apostrophe for grouping, which no other convention does, so a Swiss invoice is unmistakable once you have seen one. India groups 2-2-3 rather than 3-3-3 above the thousands, because the units above a thousand are the lakh and the crore rather than the million — an assumption that every three digits marks a group is simply false there.
Canada uses both. English-language documents follow the US pattern, French-language ones follow the European pattern, and the two appear side by side on the same federal form.
The international standards are less help than you would hope. ISO 80000-1 accepts a comma or a point as the decimal sign and declines to prefer one, on the grounds that usage follows the language. Where it is firm is grouping: digits gathered in threes should be separated by a small space, and not by a point or a comma. The BIPM’s SI brochure says the same. Almost nobody outside a physics paper does this, but it is the reason a French or South African document writes 1 234,56 and why a space in the middle of a figure is a formatting mark rather than a mistake.
The rule a scanner can actually apply
There are only three cases, and two of them are decidable.
Both marks present. Whichever appears last is the decimal separator. 1,234.56 puts the point last, so the point is the decimal mark and the comma is grouping. 1.234,56 reverses both. This is reliable because no convention places its grouping mark after its decimal mark — grouping only ever applies to the integer part.
Only one mark, with exactly three digits after it. 1,234 and 1.234 are ambiguous in isolation. The workable heuristic: if a lone comma has exactly three digits after it and at most three before it, treat it as a thousands separator. Four-digit quantities are far commoner in the wild than values written to precisely three decimal places, so this guesses right most of the time.
Only one mark, with any other count of digits after it. 1,23 and 12,3456 are decimals under any convention, because no grouping scheme produces two digits or four. These need no guess at all.
That middle case is the one to be honest about. The rule is a bet, and it loses on a real class of values: a German price of 1,234 euros, a measurement given to three decimal places, a currency with three minor units. If the numbers you are pulling are small — under ten, say, where a four-digit reading would be obviously wrong — check every value with a lone comma before trusting it.
This is the rule SwipeScan’s number mode implements, and it is worth knowing exactly what it does with the result: having decided which mark is which, it removes the grouping separators entirely and writes the decimal mark in whichever form you have set — a point, a comma, or exactly as it appeared. That setting exists because the right answer depends on the spreadsheet the value is going into, not on the document it came off.
What the free tools do instead
Live Text on an iPhone and Google Lens on Android both hand you the string verbatim. Nothing is normalised, nothing is guessed, and the ambiguity lands on you at paste time. That is a defensible choice — it never silently changes a value — but it means a European invoice read on a US-locale phone produces exactly the failure this article is about, one step later.
Excel does the guessing at the point of import, against your Windows locale, which is why the same file opens correctly on one machine and as a column of text on another. The fix is Data → Text to Columns → Advanced, where you declare what the decimal and thousands separators in the source are, independent of your system settings. That repair and the rest of the paste-time damage are covered in numbers that arrive in the cell stored as text and, for Excel’s own picture importer specifically, in Data from Picture and its traps.
Four checks after the paste
None of these take longer than a few seconds, and between them they catch every failure mode above.
- Look at the alignment. Under General format a number sits right in the cell and text sits left. A column that suddenly left-aligns halfway down has stopped parsing.
- Check the magnitude against something you know. Most documents carry their own total. If the invoice says 4,812.60 at the bottom and your column sums to 4.81, one separator decision went the wrong way for every row.
- Count the decimal places. Prices carry two. A column showing three decimals where you expected two is the lone-comma rule having fired on something it should not have.
- Sort ascending and read both ends. A value a thousand times larger or smaller than its neighbours falls straight out of a sort, and it is the only error class here that is genuinely easy to spot.
There is a separate failure that looks identical and is not a formatting problem at all: a misread digit. Engines confuse 1 with l, I and the pipe character, and a stray letter in a figure also stops it parsing as a number. Why OCR gets numbers wrong covers which shapes collide with which, and the two problems are worth separating before you go looking for a cause.
Where a tool can help is by narrowing what it will return in the first place. Our number extraction tool restricts recognition to numerals, so currency symbols, unit labels and stray letters never reach the output to confuse the parse. It still cannot know which continent your document is from — nothing can, from the string alone — but reading only the digits out of an image removes most of what makes a figure ambiguous, and leaves you with one decision instead of several.
The short version
1.234,56and1,234.56are the same number. The convention is a property of the document, and it is not written anywhere in the digits.- If both a point and a comma appear, the one that appears last is the decimal separator. That case is decidable.
- A lone comma with exactly three digits after it is usually a thousands separator. Usually — this is the case where a guess can be wrong.
- Switzerland groups with an apostrophe, India groups 2-2-3, and ISO 80000-1 asks for a space. An assumption of three-digit comma groups fails on all three.
- After pasting, check alignment, compare against the document’s own total, and count the decimal places.
Questions
Which countries use a comma as the decimal separator?
Most of continental Europe and much of South America — Germany, France, Italy, Spain, the Netherlands, Denmark, Brazil — along with South Africa and French-speaking Canada. The point is used in the US, the UK, Ireland, Australia, Mexico, China, Japan and India.
How can a scanner tell 1,234 from 1.234?
When both marks appear it compares position: whichever comes last is the decimal separator. When only a comma appears with exactly three digits after it and no more than three before, it is treated as a thousands separator. Small values written to three decimals are the case this rule sacrifices.
What does the international standard say?
ISO 80000-1 accepts either a comma or a point as the decimal sign and states no preference, leaving it to the language. It is stricter about grouping: where digits are grouped in threes, the groups should be separated by a small space, not by a point or a comma.
Try the tool this guide is about
It runs in your browser — nothing uploaded, no account. The app adds the camera, offline use, and a paid scan history.
Related guides
Numbers Stored as Text: Why SUM Returns Zero
Numbers stored as text look identical to numbers and SUM ignores every one of them. How the coercion fails, how to prove it, and how to repair the column.
Image to Excel: the Traps in Data From Picture
Image to Excel works well until a long number appears. Excel's Data from Picture, the 15-digit ceiling, lost leading zeros, and how to avoid each of them.
OCR Accuracy: Why Numbers Come Out Wrong
OCR accuracy is quoted per character, which hides the real problem. On a long number the whole string is what matters, and that falls away fast. Here is the maths.