You open an export in a text editor and every single field is wrapped: "Amman","42","2026-08-05". Nothing needed wrapping. It looks like the file has been mangled on the way out, or like somebody has added characters to your data.
Why does my CSV have quotes around every field
The writer quotes everything, and that is allowed
A field must be quoted only when it contains a comma, a quote mark, a line break, or spaces at its edges. But a program may quote every field regardless, and many do because it is simpler than deciding. Both files are valid CSV, and in both the quotes are punctuation rather than data — a reader strips them and hands back the original value.
What the quotes are actually for
CSV separates fields with a comma, which works until a field contains a comma. There is no escape character in the format — no backslash — so the answer is to wrap the whole field in quotes and let the reader know that commas inside are text rather than boundaries.
The same wrapping solves three more problems: a line break inside a value, spaces at the start or end that would otherwise be trimmed, and the quote mark itself. That last one is why you see "" in pairs. There being no escape character, a literal quote inside a quoted field is written twice, and the reader collapses each pair back to one.
escapeField from the CSV tools on this site, run on each value as the page renders. Where the middle and right columns differ, the quotes in your file are the writer's habit and can go. Where they match, the quotes are holding the row together and removing them will break it.Why a program would quote everything
Deciding field by field means examining every value before writing it. Quoting unconditionally means never examining anything and never being wrong. For an export running over a million rows, that is a real difference in code and a real difference in confidence — and the output is valid either way, so plenty of database exporters, reporting tools and scripts take it.
It also survives changes in the data. A column of postcodes that has never contained a comma will contain one eventually, and the file that quoted everything from the start does not care.
What breaks if you strip them
The rows shift, and they shift silently. Remove the quotes from "Smith, John" and that one field becomes two. Every column after it moves one place left, for that row only — so the file still opens, still looks like a table, and has one row where the phone number is in the city column.
This is the failure mode worth naming, because a file that fails to open gets fixed. A file that opens wrong gets used.
If you must remove them — some older systems genuinely cannot cope with quoted fields — the safe route is to read the file with a proper parser and write it back without quotes, having first checked that no value contains a delimiter, a quote or a line break. The CSV cleaner reads the file the same way a spreadsheet does, so what it shows you is the parsed values rather than the raw punctuation.
When quotes really are the problem
One case is worth separating out. If you import the file and the cells themselves contain quote marks — the cell reads "Amman" rather than Amman — then the reader did not treat them as punctuation at all. That usually means the delimiter was guessed wrong: if the file is semicolon-separated and something read it as comma-separated, every line becomes one enormous field and the quotes survive into it untouched.
That is a delimiter problem wearing a quote problem's clothes, and CSV having no referee is why it happens at all.
The short version
Quotes around every field are legal, common, and not a sign of damage. Some of them are structural and some are not, you cannot tell which by eye, and a correct reader makes the distinction irrelevant. Leave them unless something downstream genuinely refuses the file.