CSV Formatter & Cleaner

Format and clean CSV data — convert delimiters, trim whitespace, remove empty or duplicate rows, and convert to Markdown tables.

Input data is processed in your browser
Data is never sent to a server

Tool

Input delimiter
Output delimiter
Input CSV
0 rows × 0 cols

or drag & drop a file

Output
Lines: 0

What is the CSV Formatter?

This tool lets you quickly format, clean, and convert CSV data without leaving the browser.

Unlike the JSON↔CSV Converter — which converts between JSON and CSV formats — this tool focuses on formatting and transforming CSV itself. Use it to trim whitespace from copied data, convert comma-separated files to tab-separated, remove blank or duplicate rows, or turn a CSV into a Markdown table ready to paste into a README or wiki.

How to Use

  1. In the "Format CSV" tab, clean up your CSV by converting delimiters, trimming whitespace, and removing empty or duplicate rows.
  2. In the "Table Preview" tab, view the CSV as a rendered HTML table to check its structure visually.
  3. In the "Markdown Table" tab, convert the CSV into a GitHub Flavored Markdown table for use in documentation or READMEs.
  4. Leave "Input delimiter" on "Auto detect" to automatically identify commas, tabs, semicolons, or pipes.
  5. Click "Copy" to copy the result to the clipboard, or "Download" to save it as a `.csv` or `.md` file.

FAQ

How is this different from the JSON↔CSV Converter tool?

The JSON↔CSV Converter transforms data between JSON and CSV formats. This CSV Formatter focuses on formatting and cleaning CSV data itself — converting delimiters, trimming whitespace, removing duplicates, and converting to other text formats like Markdown tables.

How are quoted fields handled?

Parsing follows the RFC 4180 standard. Fields containing commas, newlines, or double quotes are quoted in the output. Enable "Quote all fields" to force every field to be wrapped in double quotes.

Is non-UTF-8 encoding (e.g. Shift-JIS) supported?

The tool processes text pasted into the textarea, which the browser handles as UTF-8. Direct reading of Shift-JIS or other encoded files is not supported.

Can it handle large CSV files?

The tool processes data in browser memory, so it works well for small to medium-sized datasets (up to tens of thousands of rows). Very large files may impact performance.