← All tools

Fix CSV encoding and delimiter problems

Encoding determines which characters the bytes represent. The separator determines where fields end. A file can have correct characters and still open in a single column.

Match the symptom to the setting

SymptomTryCheck
José instead of JoséDecode original bytes as UTF-8Compare accented names with the source
Legacy file fails UTF-8 decodingTry the source system’s encoding, such as Windows-1252Review punctuation and non-ASCII text
Whole record in one columnSelect semicolon, tab or the actual separatorVerify header width and quoted fields

Repair a copy and verify the import

  1. Open the original in CSV Encoding Converter. Compare several accented values before exporting. UTF-8 with BOM can help software identify UTF-8. Use plain UTF-8 if the receiving system treats the BOM as part of the first header.
  2. Use CSV Delimiter Converter if the destination expects another separator. Keep separators inside quoted text, such as the comma in “Paris, France,” inside the same field. An unclosed quote must be corrected before converting.
  3. Open the result in CSV Studio, confirm the separator and validate required fields. Compare the header and record count, and confirm an ID like 00123 still contains its leading zeros.

If a previous export replaced letters with question marks, return to the original file. Changing the encoding of the damaged copy cannot recover discarded characters. Import identifiers as text in spreadsheet software and review cells that begin with formula characters.

Use a small record to verify both settings

Take a file whose first line is id;name;city and whose next record is 00123;José;"Paris, France". With semicolon selected, the preview should have three columns, and the comma inside the city stays in that field. If the preview shows one column, change the separator before touching the text. If it shows three columns but José appears as José, inspect the source encoding first. Removing semicolons or doing a global replacement can damage values and cannot correct a character-decoding problem.

When the receiving system expects comma-separated text, export a new comma-separated copy. It should quote the city because it contains a comma. Keep the ID as text during import. A spreadsheet can display 123 even when the file still contains 00123, so compare the text preview or import with the column type set explicitly.

Confirm the repaired copy in the receiving application

Export plain UTF-8 and UTF-8 with BOM as separate test copies only if the target offers no explicit encoding setting. Open each using the same import settings. Check the first header for an unexpected leading character and check two or three accented fields, including punctuation if it appears in the source. Select the variant that the receiving application handles correctly. The BOM is a marker at the beginning of the file and does not change the separator.

Before replacing a data feed, compare the number of records and the required headers. If the report flags uneven rows, check the original field quoting and embedded newlines around the first failing record. Some records span more than one text line, so count parsed records instead of counting line breaks.