CSV stands for comma-separated values. A CSV file is a plain text file that stores tabular data — the kind of data you would otherwise put in a spreadsheet — using nothing but characters. Because of that simplicity, CSV has become the universal exchange format for structured data between programs that otherwise have nothing in common.
The basic structure: rows and columns
A CSV file represents a table using two simple rules:
- Each line in the file is one row of the table.
- Within a line, each value is separated by a comma, and each comma-separated value is a cell (a column).
Here is a tiny CSV file with three rows and three columns:
name,price,sku
Classic T-Shirt,499,TSH-001
Denim Jeans,1299,DNM-002Read as a table, it has a column called name with the value "Classic T-Shirt", a column called price with the value 499, and so on. That is the entire format — no hidden formatting, no proprietary structure.
The header row
Most CSV files start with a header row: a first line that names each column. Headers are not data — they are labels that tell people and programs what each value means. Headers matter enormously for imports: an e-commerce platform importing a product CSV usually maps columns by their header names. If a header is misspelled or missing, the import either fails or silently drops that field.
Quoting: when values contain commas
What if a value itself contains a comma — like a description "soft, breathable cotton"? The CSV standard handles this with double quotes:
name,description,price
Cotton Tee,"soft, breathable cotton",499The quotes tell the parser that the comma inside belongs to the value, not to the column structure. If a value contains a quote character, it is escaped by doubling it (""). This is one of the most common sources of broken CSV files — a single unquoted comma shifts every following value into the wrong column.
Why product catalogs use CSV
Product data fits the row-per-record structure naturally: one row per product, with columns for name, description, SKU, price, inventory, category, tags and images. Because CSV is plain text, it works everywhere:
- Store platforms accept CSV for bulk product import and export.
- Spreadsheet applications (Excel, Google Sheets, Numbers) open and save CSV directly.
- Scripts and programs can read CSV with a single line of code in any language.
- Delivery and ordering backends use CSV menu exports to move data between systems.
Common CSV problems to know about
- Shifted columns — usually caused by unquoted commas inside values.
- Encoding issues — special characters (é, ñ, ₹, emoji) turn into gibberish if the file is saved in the wrong encoding. UTF-8 is the safe default.
- Number formatting — currency symbols and thousand separators ("₹1,299") can break parsers that expect plain numbers.
- Leading zeros — a SKU like
00123may lose its zeros when opened and re-saved in a spreadsheet. - Formula injection — values starting with
=,+,-or@can be interpreted as formulas by spreadsheet applications, which is a security concern for exported files.
Why formatting matters
A CSV import is only as good as its structure. One bad row can abort an entire import or, worse, silently import wrong values. That is why it pays to validate a CSV before importing it — checking that every row has the right number of values, that numbers are plain, and that special characters are properly quoted and encoded.
Tools like CSV Pilot handle these details for you: you describe or upload the data, review it in a structured preview, and export a file with consistent formatting.