Skip to content
Toolars
Explore
Report bug

Utilities · Local utility

CSV Workbench

Clean and reshape CSV or TSV files entirely in the browser: deduplicate rows, drop empty rows or columns, split or merge columns, normalize text case and whitespace, filter by keyword and sort — with a 50-row preview before every download. Streams files up to 100 MiB (roughly 500k rows) in a local Worker; no uploads.

Task path / input to outcome

Choose an operation and add a file

Runs locally · Nothing is uploaded

Row-level operations stream in a Worker with constant extra memory; only sorting buffers one row per record. Inputs up to 100 MiB (roughly 500k rows), outputs up to 100 MiB, at most 256 columns and 1 MiB per row. Ragged rows are tolerated: missing cells read as empty, extra cells are kept. Files past a limit are refused, never silently truncated.

How CSV Workbench works, privacy, and related tools

Task path / input to outcome

How to clean and reshape a CSV file in your browser

  1. 01

    Choose an operation and add a file

    Pick one of the seven operations — dedupe, drop empty rows or columns, split, merge, clean text, filter, or sort — then drop a CSV or TSV file up to 100 MiB. Column names are read first so you can select columns; the separator is auto-detected and can be overridden.

  2. 02

    Configure the operation

    For dedupe choose the whole row or selected columns and whether letter case counts. For split, pick the column and delimiter; for merge, pick at least two columns and a join separator; for filter, type the keyword; for sort, pick the column, direction and value type.

  3. 03

    Apply, preview and download

    Press Apply to process the file in a Worker with streaming reads — sorting is the only operation that buffers rows. Check the 50-row preview and the row counts, then download the quoted CSV with CRLF rows and an optional UTF-8 BOM. Nothing is uploaded at any point.

Tool facts

Processing
In your browser
Input leaves this device
Never
Retention
Nothing is stored
Price
Free

Your input stays in the browser.

CSV Workbench uses its verified local execution path and does not create a hidden input or output history.

Local execution

Runs inside the current browser tab.

No hidden processing

Active tool data never becomes a Toolars document record.

No account required

Use the core workflow without creating a profile. Favorites sync to your account after you sign in.

Immediate reset

Clear the tab and the active working data is gone.

What CSV Workbench actually does

A support team receives a weekly ticket export with 300,000 rows where the same customer appears many times and several columns are completely empty. They open the CSV workbench, remove duplicates based on the customer column with case ignored, drop the empty columns, filter to rows containing the word “refund”, and sort by the date column. The preview confirms the counts; the downloaded file imports cleanly into their reporting tool. The export never left the laptop.

Common questions

How large a file can I process?
Up to 100 MiB (roughly 500,000 rows), 256 columns and 1 MiB per row. Files are read as bounded slices in a Worker, so row counts in the hundreds of thousands complete in seconds; only sorting keeps rows in memory, bounded by the same 100 MiB output ceiling. Files past a limit are refused with a clear message, never silently truncated.
What happens to rows with fewer or more cells than the header?
Ragged rows are tolerated because real exports are messy: a short row reads its missing cells as empty, and a long row keeps its extra cells. Operations that reference a column beyond a short row's length read that cell as empty.
Does my file leave my device?
No. Parsing and every operation run in a Worker on this page; the file is never uploaded, logged, or shared. The generated Worker script is fetched from this site once per release and cached locally.
Why does my downloaded CSV look different in Excel?
Output is quoted CSV with CRLF rows and an optional UTF-8 BOM (EF BB BF), which this tool writes by default. How a target app decodes the bytes — especially non-ASCII text — is outside this tool's control; check the import settings there.

Continue in Files & Utilities

Related tasks, not a dead end.

Move into another focused workspace without returning to the full index.

Password Generator

Generate 8–128-character passwords from selected character sets with browser Web Crypto; every chosen set appears at least once. Copy to the clipboard or download plain text; generation runs in this tab. The same page creates or verifies Bcrypt hashes in a local Worker (cost 4–12; password limit 72 UTF-8 bytes).

Protect

List Randomizer

Shuffle lists of up to 5,000 items with an unbiased Fisher-Yates shuffle powered by Web Crypto; duplicates keep their independent chances.

Edit

Image to Text OCR

Extract printed text from PNG or JPEG images in 13 languages — each model pack downloads on demand, recognition runs locally, and downloaded packs work offline.

Create

Subtitle Converter

Convert plain-text subtitles between SRT and VTT and shift cue timing by whole milliseconds — up to 1 MiB and 10,000 cues per run.

Convert