CSV Tools
80 free CSV tools. All run in your browser, with no uploads and no account.
Convert CSV to another format
CSV to Parquet
Convert CSV files to Parquet format directly in your browser. No upload required — your data never leaves your device.
CSV to JSON
Convert CSV files to JSON format directly in your browser. No upload required — your data never leaves your device.
CSV to NDJSON
Convert CSV files to NDJSON format directly in your browser. No upload required — your data never leaves your device.
CSV to TSV
Convert CSV files to TSV format directly in your browser. No upload required — your data never leaves your device.
CSV to Arrow
Convert CSV files to Arrow format directly in your browser. No upload required — your data never leaves your device.
CSV to Excel
Convert CSV files to Excel format directly in your browser. No upload required — your data never leaves your device.
CSV to YAML
Convert CSV files to YAML directly in your browser. Download clean, human-readable YAML — no upload required.
CSV to XML
Convert CSV files to XML directly in your browser. Download a structured XML document with one element per row — no upload required.
CSV to SQL
Convert CSV files to SQL INSERT statements directly in your browser. Copy or download the generated SQL — no upload required.
CSV to Markdown
Convert CSV files to a Markdown table directly in your browser. Copy the output and paste it into any Markdown document.
CSV to HTML
Convert CSV files to an HTML table directly in your browser. Copy the markup or download a ready-to-use HTML file.
Convert other formats to CSV
Parquet to CSV
Convert Parquet files to CSV format directly in your browser. No upload required — your data never leaves your device.
JSON to CSV
Convert JSON files to CSV format directly in your browser. No upload required — your data never leaves your device.
NDJSON to CSV
Convert NDJSON files to CSV format directly in your browser. No upload required — your data never leaves your device.
TSV to CSV
Convert TSV files to CSV format directly in your browser. No upload required — your data never leaves your device.
Arrow to CSV
Convert Arrow files to CSV format directly in your browser. No upload required — your data never leaves your device.
Excel to CSV
Convert Excel files to CSV format directly in your browser. No upload required — your data never leaves your device.
YAML to CSV
Convert YAML files to CSV format directly in your browser. No upload required — your data never leaves your device.
View, inspect and query CSV files
CSV Viewer Online
View and inspect CSV files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
SQL Query Tool
Load one or more files and query them with SQL. Each file becomes a table.
Data Profiler
Column-level stats: null rates, distinct counts, min, max and mean.
Find Duplicates
List duplicated rows and how many times each appears before you remove them.
Join Files
Join two files on a key column with INNER, LEFT, RIGHT or FULL OUTER joins.
Pivot Table
Build a pivot table with row, column and value fields.
Lookup Tool
Add columns from a reference table, like VLOOKUP.
Chart Builder
Plot a data file as a bar, line, scatter or histogram chart.
Column Type Inference
Detect the data type of every column in a file.
Geocode CSV
Add latitude and longitude to a CSV of addresses.
XML to CSV
Convert XML files to CSV and other formats.
HTML Table to CSV
Extract tables from HTML into CSV.
Markdown Table to CSV
Turn a Markdown table into CSV.
SQL Importer
Import a SQL dump and export the data as CSV, Parquet or JSON.
Clean & fix: CSV
Remove duplicates
Remove duplicate rows from CSV files instantly in your browser. No upload, no server — 100% private.
Fuzzy deduplicate
Find near-duplicate rows in CSV files using Levenshtein edit distance or Jaro-Winkler similarity — all in your browser. Set your own threshold and download the matched pairs as CSV — no upload required.
Trim
Trim leading and trailing whitespace from all text columns in CSV files, directly in your browser. No upload required.
Fill empty values
Fill empty and null values in CSV files with a custom replacement value, directly in your browser.
Coalesce columns
Fill null values in CSV files from other columns — return the first non-null value across up to 8 columns in priority order. Add the result as a new column. Runs entirely in your browser.
Find & replace
Find and replace text values in CSV files directly in your browser. Supports plain text and regex patterns across any column — no upload required.
Convert case
Convert text columns to UPPERCASE, lowercase, or Title Case in CSV files directly in your browser. Apply case conversion to any or all text columns at once — no upload required.
Change column types
Change column data types in CSV files directly in your browser. Cast text to numbers, dates to timestamps, or any supported type conversion — no upload required.
Repair file
Repair malformed CSV files directly in your browser. Fix unbalanced quotes, inconsistent column counts, BOM markers, and mixed line endings — no upload required.
Convert encoding
Detect and convert the character encoding of CSV files directly in your browser. Switch between UTF-8, Latin-1, Windows-1252, and more — no upload required.
Validate emails
Validate email addresses in CSV files directly in your browser. Add a boolean column flagging valid and invalid emails, or filter to show only invalid rows — no upload required.
Validate structure
Validate CSV file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.
Filter & select: CSV
Filter
Filter rows in CSV files by column value, directly in your browser. Your data stays on your device.
Filter by date range
Filter CSV files to rows within a date range using simple start and end date pickers. See a live match count before you apply the filter — no upload required, runs in your browser.
Search text
Search for text across all string columns in CSV files directly in your browser. Filter rows to only those containing your search term and download the results — no upload required.
Select columns
Drop or select specific columns from CSV files directly in your browser. No upload required.
First N rows
Extract the first N rows from CSV files directly in your browser. Choose how many rows to keep and download the result — no upload required.
Last N rows
Extract the last N rows from CSV files directly in your browser. Choose how many rows to keep and download the result — no upload required.
Sample
Sample rows from CSV files — first N, last N, or random — directly in your browser.
Shuffle
Randomly shuffle the row order of CSV files directly in your browser. Useful for randomising data before sampling or ML train/test splits.
Top N per group
Extract the top N rows per group from CSV files directly in your browser. Get the top 5 products per category, highest scores per team, or any ranked subset — no upload required.
Unique values
Extract all distinct values from any column in CSV files directly in your browser. Download the unique values list — no upload required.
Reshape & combine: CSV
Sort
Sort CSV files by any column, ascending or descending, directly in your browser.
Split
Split CSV files into multiple smaller files by row count, directly in your browser.
Merge
Merge and concatenate multiple CSV files into one, directly in your browser.
Rename
Rename columns in CSV files instantly in your browser. No upload, no server — your data stays on your device.
Transpose
Transpose CSV files — flip rows and columns — directly in your browser. No upload, no server.
Unpivot
Reshape CSV files from wide to long format directly in your browser. Melt multiple columns into variable/value pairs — no upload required.
Change delimiter
Change the delimiter in CSV files — switch from comma to pipe, semicolon, tab, or any custom character — in your browser.
Split column
Split a column into multiple columns by delimiter in CSV files directly in your browser. Turn "First Last" into separate first and last name columns — no upload required.
Combine columns
Combine multiple columns into one in CSV files directly in your browser. Merge first name and last name, join address fields, or concatenate any columns with a custom separator — no upload required.
Group concatenate
Concatenate text values within each group in CSV files directly in your browser. Group rows by a column and join the values of another column into a single delimited string — no upload required.
Compare
Compare two CSV files directly in your browser. See rows only in file A, only in file B, and rows common to both — no upload required.
Compare schemas
Compare the schemas of two CSV files directly in your browser. See which columns exist in each file and spot type mismatches — no upload required.
Add & calculate columns: CSV
Calculated column
Add a new column to CSV files computed from an arithmetic expression over existing columns. No formulas, no code — just point and click.
Conditional column
Add a new column to CSV files based on an if/else condition directly in your browser. Set a value for rows that match and a different value for rows that don't — no upload required.
Add row numbers
Add a row number index column to CSV files directly in your browser. Set the column name and starting number — no upload required.
Add UUID column
Add a UUID column to CSV files directly in your browser. Generate random UUIDv4 or time-ordered UUIDv7 identifiers for every row. Choose the column name and position — no upload required.
Hash columns
Anonymise or pseudonymise columns in CSV files by replacing values with MD5, SHA-256, or DuckDB hashes — directly in your browser. Useful for GDPR compliance and sharing data without exposing PII — no upload required.
Round numbers
Round numeric columns in CSV files to any number of decimal places directly in your browser. Set precision per column with a simple slider — no upload required.
Pad column
Left-pad or right-pad a column in CSV files to a fixed width directly in your browser. Zero-pad numeric codes, pad product IDs to a fixed length, or right-pad text fields — no upload required.
Bin column
Bucket a numeric column in CSV files into labelled ranges — equal-width bins or custom edges. Runs entirely in your browser.
Regex extract
Extract text matching a regular expression from CSV files directly in your browser. Pull out emails, URLs, phone numbers, or any pattern into a new column — no upload required.
Extract JSON column
Extract values from a JSON-encoded column in CSV files into a new flat column using a JSON path expression. Runs in your browser.
Parse URLs
Parse URL columns in CSV files and extract host, path, query string, and fragment into separate columns — directly in your browser, no upload required.
Dates & times: CSV
Parse dates
Parse and convert date columns in CSV files between formats and timezones directly in your browser. Supports ISO 8601, US/EU dates, Unix timestamps, and custom patterns — no upload required.
Format timestamps
Reformat timestamp and date columns in CSV files directly in your browser. Convert between ISO 8601, Unix epoch, US date, and custom strftime patterns — no upload required.
Date difference
Calculate the difference between two date or timestamp columns in CSV files directly in your browser. Output in days, months, years, hours, minutes, or seconds — no upload required.
Truncate dates
Truncate date and timestamp columns in CSV files to a chosen precision — year, quarter, month, week, day, hour, or minute — directly in your browser. Rounds timestamps down to the start of each period. No upload required.
Analyse: CSV
Aggregate
Group and aggregate CSV files by any column directly in your browser. Calculate sum, average, min, max, and count for any numeric column — no upload required.
Count by value
Group and count rows by any column in CSV files directly in your browser. Sort by frequency or value to find the most common entries — no upload required.
Percent of total
Add a percentage-of-total column to CSV files directly in your browser. Show each row's share of the grand total, or the share within each group — no upload required.
Percentile
Compute percentiles, median, MAD, mode, and kurtosis for numeric columns in CSV files directly in your browser. Optionally group by a category column. Results download as CSV — no upload required.
Arg max / min
Find the value of one column at the row where another column is maximum or minimum in CSV files — directly in your browser. Optionally group by a category to get per-group results. No upload required.
Rank
Add a rank column to CSV files based on any column's values. Choose RANK, DENSE RANK, or ROW NUMBER, with optional partitioning — runs entirely in your browser.
Running total
Add a running total column to CSV files for any numeric column. Optionally order by a date or sequence column and restart totals per group — no upload required.
Moving average
Add a moving average, rolling sum, rolling min, or rolling max column to CSV files directly in your browser. Choose window size, order-by column, and optional partitioning — no upload required.
Lag / lead
Add a LAG or LEAD column to CSV files to shift any column forward or backward by N rows. See previous day's sales, next value in a sequence, or any time-shifted comparison — runs entirely in your browser.
Normalize
Normalize numeric columns in CSV files using min-max scaling (0–1) or z-score standardisation (mean=0, std=1). Adds new columns alongside the originals — no upload required.
Detect outliers
Detect statistical outliers in CSV files directly in your browser. Flag or remove rows where numeric values exceed a chosen number of standard deviations from the mean — no upload required.
Correlation matrix
Compute a Pearson correlation matrix for numeric columns in CSV files directly in your browser. Instantly spot which variables move together — colour-coded heatmap, no upload required.
CSV Format Comparisons
CSV vs Parquet
A practical comparison of CSV and Parquet — file size, query performance, compatibility, schema handling, and when to convert between them.
JSON vs CSV
JSON supports nested data and is native to APIs and web applications. CSV is flat, compact, and universally compatible with spreadsheets and databases.
Excel vs CSV
Excel supports formulas, charts, and multiple sheets. CSV is plain text, portable, and pipeline-friendly. Learn which to use and when to convert.
TSV vs CSV
TSV uses tabs as delimiters instead of commas. Learn the practical differences, common use cases for each format, and how to convert between them.
NDJSON vs CSV
NDJSON stores one JSON object per line, ideal for streaming and logs. CSV is the universal flat-file format for spreadsheets and databases. Compare the trade-offs.
About CSV
CSV (Comma-Separated Values) is the universal format for tabular data. Every spreadsheet application, relational database, programming language, and data tool can read and write CSV files, making it the default choice for data exchange across industries. A CSV file is plain text — each line is a row, columns are separated by commas (or another delimiter), and the first line is usually column headers.
Data analysts, developers, finance teams, and operations staff all work with CSV daily. It is the default export format from CRMs, e-commerce platforms, accounting software, analytics dashboards, and relational databases. If you have ever downloaded a report from Salesforce, Shopify, QuickBooks, or Google Analytics, you have a CSV file.
Despite its universality, CSV has real limitations. It stores everything as plain text with no embedded type information, so numbers and dates are indistinguishable from strings without inference. It handles nested data poorly, compresses inefficiently compared to columnar formats, and can cause parsing issues when values contain commas, quotes, or newlines. Our CSV tools tackle these common frustrations — convert to a better format, clean up whitespace, remove duplicates, split large files, or generate SQL for a database import — all without leaving your browser.
Frequently Asked Questions
What is the difference between CSV and TSV?
Both are plain-text tabular formats. CSV uses a comma as the delimiter; TSV uses a tab character. TSV is preferred when data values frequently contain commas — for example, addresses or free-text descriptions — because it avoids the need for quoting those fields. In all other respects they are identical.
Why does my CSV look wrong when opened in Excel?
Excel auto-detects the encoding and delimiter but can get it wrong. Common causes: the file uses a semicolon delimiter (common in European locales where commas are decimal separators), the file is UTF-8 but Excel interprets it as a legacy encoding, or values contain commas that break column alignment. Use the CSV Viewer here to inspect the file correctly, or re-save it with the correct delimiter using the Change Delimiter tool.
How do I handle a CSV file that is too large for Excel?
Excel has a hard limit of 1,048,576 rows. For larger files, use the Sample or Head tools to extract a manageable subset, the Filter tool to extract only relevant rows, or the SQL Query tool to run aggregations across the full file. SmartQueryTools can handle CSV files with millions of rows entirely in your browser.
What is the best format to convert a large CSV into for analytics?
Parquet. It typically compresses a CSV to 20–30% of its original size using columnar encoding and compression codecs (Snappy or Zstandard). Analytical tools like DuckDB, Athena, BigQuery, Spark, and Pandas can query a specific column in a Parquet file without reading the rest — dramatically faster than scanning a full CSV row by row.