EVERYDAY FILE TOOLSSmall jobs. Done carefully.How it works ↗
01 / FILE WORKSHOP

A little order
for your CSV.

Find uneven rows, check quotation marks and convert separators. Keep your values exactly as they are.

In your browser · No account · This tool does not upload your file

Your data

64 KB maximum

The result

Your original stays unchanged

Ready when you are.

Choose a small file, or try the example to see what changes and what stays the same.

A FEW USEFUL DETAILS

Same values.
Clearer structure.

What changes?

The output uses commas, consistent quotation marks and standard record endings. Leading zeros, prices, spaces and line breaks inside a value stay intact. This checks structure, not whether the underlying facts are correct.

What if the file won’t import?

Choose the separator used by your source file. For a text-encoding error, save it as CSV UTF-8 in the original application. A record can contain multiple lines when a quoted value includes a line break, so record numbers may differ from line numbers in an editor.

What happens to my data?

This tool reads and processes your file in this browser. It does not upload the file, save it in an account or send it to the paid API. Clear removes the current working text. Refreshing loses the working copy; your original file is untouched.

Small files, predictable limits

Up to 64 KB of UTF-8 text, 1,001 records including a header and 100 columns. Larger files should be split first. No login, subscription or payment is required.

When a CSV looks right but imports wrong

A CSV file is text arranged into records and fields. A spreadsheet adds its own interpretation when it opens that text. A file can therefore have correct structure and still produce an unexpected date, shortened product code or changed price in the next application. Start by separating those two problems.

1. Check the separator before changing your data

If an entire row appears in one column, the receiving application may expect a different separator. A semicolon-separated export needs the semicolon option here; a tab-separated export needs Tabs. The output of this tool always uses commas. It does not automatically guess your input separator.

For example, this is a two-column record when semicolons are selected:

product;description
00123;"Blue pencils, pack of 12"

The comma inside the description belongs to the value. Quotation marks keep that description together when the output is converted to comma-separated CSV.

2. Treat quotation marks as structure

A quoted field can contain its separator or a line break. A quotation mark inside a quoted field is represented by two quotation marks. Removing every quote with Find and Replace can break a valid file. This checker reports malformed quotation marks instead of guessing where a field ends.

item,description
00123,"Notebook labelled ""Travel"""

That description contains the text Notebook labelled "Travel". The repeated quotation marks are the CSV representation of a single literal quote; they are not duplicate content to remove.

3. Count records, not lines on the screen

A postal address or note can include a line break inside a quoted value. That is still one field in one record. The checker reports record and column positions. Those positions may differ from the line numbers in a text editor. It also checks that records have a consistent field count; an extra separator can create an unintended empty field.

4. Preserve product codes and other text identifiers

The checker preserves values such as 00123, 12.50 and spaces inside fields. Your spreadsheet may subsequently convert them. Use the receiving application's text import flow and select a Text column type for identifiers when that option is available. A CSV has no column-type metadata, so quoting a value cannot guarantee every spreadsheet will treat it as text.

5. Review formula-like values

Some spreadsheet applications interpret a value starting with symbols such as = as a formula. The checker warns about suspicious values but leaves them unchanged; it does not execute them. A structure check is not a security clearance. Import untrusted columns as text, and use the original source to investigate unexpected formulas.

6. Keep the original and compare a small sample

Download creates a separate file called checked-data.csv. Keep your original, import a small sample into the destination and compare identifiers, prices, row counts and a multiline note before replacing a working dataset. If the file fails the encoding check, export UTF-8 from its original application. Renaming a file's extension does not change its encoding.

Privacy

Updated 6 September 2026.

The checker reads files and processes pasted text in your browser. The tool does not upload that content, store it in an account or send it to a paid processing service. The download is created locally by your browser. Clearing the input or refreshing the page removes the current working copy from this page; this is not a claim of secure erasure from your device.

This release has no analytics, advertising scripts, tracking pixels, accounts or payment forms. It does not set application cookies or save your CSV in browser storage. Normal website requests still reach our hosting provider, Cloudflare, which handles connection information such as IP addresses and request metadata to deliver and protect the site. That is separate from the CSV content processed locally.

See Cloudflare's privacy policy for its handling of connection information. If advertising is introduced later, this notice and the necessary consent controls must be updated before those scripts are enabled.

About Everyday File Tools

Everyday File Tools is a small independent collection of practical file utilities, published by S H. This first tool focuses on one job: finding common CSV structure problems and producing consistent comma-separated output without changing the underlying values.

It is free to use and requires no account. It checks file structure, not the truth or completeness of the information in a file, and cannot guarantee compatibility with every receiving application. The limit is 64 KB of UTF-8 text, 1,001 records including a header and 100 columns. The examples and recovery steps above are available whenever you need them.

Return to the checker ↑