My product CSV has prices in Arabic-Indic digits with the Arabic decimal separator; how do I prepare it for a Shopify import?

Convert the file to Western digits with the separator option on, and ١٢٠٫٥٠ becomes 120.50. Without the option the digits change but the Arabic decimal separator ٫ stays, giving 120٫50, which most import systems will not read as a number. Before uploading, check the file against the import template Shopify itself provides, since its requirements can change.

Published · 3 min read

Two problems in the price column, not one

The price ١٢٠٫٥٠ contains two kinds of unexpected character. The first is the Arabic-Indic digits; the second is the Arabic decimal separator ٫, which is its own Unicode character and not a full stop. Ordinary conversion handles the first only, which is why the second sits behind a separate option that is off by default: changing a separator changes meaning, not just appearance, so the tool will not do it unless you ask.

The example both ways

A small file with two columns, price and quantity:

Price,Qty ١٢٠٫٥٠,٣

Converting to Western digits with the defaults gives:

Price,Qty 120٫50,3

Six digits converted, but the Arabic separator stayed, and the tool notes under the result that one decimal separator would change if you turned the option on. Turn on 'Convert the separators between digits too':

Price,Qty 120.50,3

Now the price is written the way most import files expect. Notice that the comma between the columns was untouched in both cases: when converting to Western, the tool never changes ordinary commas; it only converts the two Arabic separators ٫ and ٬.

The trap: the Arabic thousands separator

This is where you need to pay attention. If the file has a price such as ١٬٢٠٠٫٥٠, it also contains an Arabic thousands separator ٬. With the separator option on, that becomes an ordinary comma, and the line reads:

Price,Qty 1,200.50,3

In a CSV a comma means a new column. The line now has three fields instead of two: 1, then 200.50, then 3, so the price reads as 1 and the quantity as 200.50. The fix is to remove thousands separators from the price column before or after converting, in your spreadsheet, or to make sure the field is wrapped in quotes if your program exports it that way. The tool shows how many thousands separators would change; if that number is not zero, stop and check.

The steps

  1. Open the CSV in a text editor and copy its full contents.
  2. Open the Arabic/Persian/Western digit converter, paste it, and choose 'Western 0123456789'.
  3. Read the separator line under the result: how many decimal points and thousands separators would change.
  4. If the thousands count is zero, turn the separator option on. If not, deal with the thousands separators first as described above.
  5. Download the result as a text file and rename it with a .csv extension.
  6. Compare its columns with the import template Shopify provides, and test-upload two or three rows before the full file.

If you want to see the file as rows and fields before uploading, to be sure every price is in its column, open it in the CSV and JSON converter. It exposes any line that ended up with a different number of fields.

Common questions

Are the Arabic product names in the file affected?

No. Letters never change, and neither does other punctuation.

Are image links in the file protected?

Yes, while protection is on and the links start with a scheme such as https://. When converting to Western nothing in them changes anyway.

Are these Shopify's official price requirements?

We do not state any platform's requirements. Check the current import template and help pages on the platform itself; they are the reference.