Check & prepare data

CSV Cleaner: Prepare Files for Import

Review a CSV, tidy its cells and headers, and remove exact duplicate rows without converting identifiers.

Work stays in your browserLocal tool processing

Choose a CSV and review the cleanup rules before importing the output.

Work stays on this deviceInput is processed in this page, not uploaded or saved. Downloads are yours to keep; refreshing clears the workspace.
Your workspace

Prepare a clean import

One CSV, TSV or TXT file · UTF-8 only · up to 10 MB. Original text is preserved until you choose cleanup changes. Drop here, or use the file picker.

Paste CSV instead (optional)

Optional alternative to a file. Editing this text removes its selected file.

UTF-8 text · up to 10 MB, 50,000 data rows and 200 columns. Values stay as strings; dates and identifiers are never inferred.

Cleanup settings

Options
Blank or colliding header names are rejected, never silently renamed.
Applied after selected trimming. No records are merged by an ID.
Adds an apostrophe to cells starting with =, +, -, @, tab or carriage return, including negative-looking values. This intentionally changes exported text. With this off, spreadsheet apps may run formulas; quoted CSV alone is not protection.
Ctrl / ⌘ + Enter to run

Result

Your cleaned CSV

Run the task to review a counted result here.

Load the example to try the complete workflow.
Limits and next steps

Header row and rectangular records required. No date guessing, inferred numbers, encoding repair or ID-based record merging. Exact duplicate removal is a chosen destructive transformation of output only; the input stays intact. Download and inspect the result before importing it elsewhere.

Reset this workspace?

This clears your input and result. Keep your draft if you still need it; chosen options remain selected.

Get a result you can use

Instructions and examples

From input to output

  1. Choose a UTF-8 CSV or open the optional paste area.
  2. Review Input delimiter, Output delimiter, Header names and the cell/duplicate/formula options.
  3. Select Clean CSV, compare before/after previews and change counts, then download the reviewed CSV.

Settings and result behavior

  • Header trimming and lowercase underscores are explicit transformations; blank or colliding names are rejected.
  • Duplicate removal occurs after selected trimming and compares whole rows, not IDs.
  • Formula protection is opt-in and prefixes potentially executable cells with an apostrophe, including negative-looking values. Quoted CSV alone is not protection.

A worked example

Input
id,name
001, Ada 
001, Ada 
Settings
Keep header names; Trim spaces around cell values on; Remove exact duplicate rows on.
Expected result
id,name
001,Ada

Supported input and limits

Choose a UTF-8 CSV, TSV or TXT file, or open “Paste CSV instead”. Use comma, semicolon, tab or pipe separators. A header row with unique nonblank names and the same field count on every row is required. The output delimiter can differ from the input.

Up to 10 MB and 50,000 data rows. Rectangular data and unique, nonempty headers required. CSV cannot force spreadsheet apps to keep cell types. No guessed date conversion.

If the result is unexpected

  • For a header collision, rename the conflicting source headers; Fixora does not silently invent names.
  • If spreadsheet software changes 001 to 1 or guesses dates, import the relevant columns as text. The CSV bytes cannot force cell types.

Check before using the result

Check row count, retained identifiers, renamed headers and protected cells. Import a small sample in the target application before replacing an important dataset.

Report a problem with this tool. Include a nonsensitive example and your browser details.

Questions about this tool

Will leading-zero IDs stay intact?

Values remain strings during cleanup, so 00123 is not converted to 123. CSV cannot set column types for another application: import identifier columns as text in your spreadsheet.

Does removing duplicates merge records with the same ID?

No. This cleaner removes exact duplicate rows after the selected transformations. Different records sharing an ID need a separate decision.