What Is a CSV Viewer & Editor?
CSV (Comma-Separated Values) is one of the most widely used data formats for storing and exchanging tabular information. A CSV viewer and editor lets you open, inspect, modify, and export CSV files without installing heavy spreadsheet software. This tool transforms raw CSV text into an interactive, editable table right inside your browser.
Unlike traditional spreadsheet applications, this tool runs 100% client-side — your data is never uploaded to any server. It supports multiple delimiters (comma, tab, semicolon, pipe, and more), automatic delimiter detection, column sorting, full-text search, find & replace, undo/redo, pagination for large datasets, and export to both CSV and Excel formats. Whether you need to clean up a data export, inspect a log file, or quickly edit a configuration table, this tool has you covered.
How to Use This Tool
Import Your Data
Drag and drop a CSV file onto the input area, click Upload to select a file, paste CSV text directly, or use URL Import to fetch a CSV from a remote address. Your data appears in the input textarea.
Configure & Parse
Set the correct delimiter if auto-detection doesn't match, toggle whether the first row is a header, and enable or disable row numbers. Then click Parse CSV to generate the output table.
View, Sort & Filter
Click any column header to sort ascending or descending. Use the search bar to filter rows across all columns. Use Find & Replace to locate and change specific values.
Edit Your Data
Click any cell to edit its value. Add or delete rows and columns using toolbar buttons, the duplicate button, or the right-click context menu. Undo and redo any changes.
Clean & Transform
Trim whitespace from all cells, transpose rows and columns, or remove duplicate rows with one click. Drag column headers to reorder, or resize them by dragging the edge.
Export Results
Copy to clipboard, download as CSV, or download as Excel. Customize the export delimiter, encoding (UTF-8, UTF-8 BOM, ISO-8859-1), line endings (LF or CRLF), filename, and quoting style in Export Options.
Features Explained
Auto-Detect Delimiter
▼
When you upload or drop a file, the tool scans the first line and automatically detects whether the data uses commas, tabs, semicolons, pipes, or colons as separators. You can always override the detected delimiter from the dropdown.
Column Sorting with Type Detection
▼
Click the sort icon on any column header to sort ascending or descending. The tool automatically detects whether a column contains numbers, dates, or text, and sorts accordingly — numeric columns sort by value (not alphabetically), so '9' comes before '100'.
Full-Text Search & Filtering
▼
The search bar filters rows in real-time across all columns. Only rows containing your search term are displayed. The statistics bar updates to show how many rows matched out of the total.
Find & Replace
▼
Open the Find & Replace panel (or press Ctrl+F) to search for specific text across all cells. See a live match count, toggle case sensitivity, and replace all occurrences at once. Matching cells are highlighted in yellow.
Undo & Redo (100 Levels)
▼
Every edit — cell changes, row/column additions, deletions, transpose, trim, and find-replace — is tracked in a 100-level history stack. Use the toolbar buttons or Ctrl+Z / Ctrl+Y keyboard shortcuts to step through changes.
Drag-and-Drop Column Reorder
▼
Drag any column header to a new position to reorder your columns. A blue indicator shows where the column will be placed. This is useful for reorganizing data before export.
Resizable Columns
▼
Hover over the right edge of any column header to reveal a resize handle. Drag it to make columns wider or narrower. Each column can be individually sized for optimal viewing.
Context Menu (Right-Click)
▼
Right-click any cell to access quick actions: insert a row below, duplicate the current row, delete a row, insert or delete a column, or copy the cell value to your clipboard.
Pagination for Large Files
▼
Datasets with more than 50 rows are automatically paginated. Choose page sizes of 25, 50, 100, 250, or 500 rows. Navigation buttons let you jump to the first, previous, next, or last page.
Multiple Export Formats
▼
Export your data as CSV with customizable delimiter, encoding, and line endings, or as an Excel-compatible .xls file using SpreadsheetML format. You can also copy the formatted CSV directly to your clipboard.
LocalStorage Persistence
▼
Your data is automatically saved to your browser's local storage as you edit. If you close the tab or refresh the page, your data will be restored exactly as you left it.
Add Rows & Columns
▼
Click '+ Row' to append a new empty row at the bottom of the table, or '+ Col' to add a new column. You can also insert rows and columns via the right-click context menu. All additions are tracked in the undo history.
Trim Whitespace
▼
Click 'Trim' to remove all leading and trailing whitespace from every cell in the table, including headers. This is useful for cleaning up data that was copied from spreadsheets or databases with inconsistent spacing.
Transpose
▼
Click 'Transpose' to flip the table so that rows become columns and columns become rows. A 3-row by 5-column table becomes a 5-row by 3-column table. Useful for restructuring data or switching between row-oriented and column-oriented layouts.
Remove Duplicates (Dedup)
▼
Click 'Dedup' to remove duplicate rows from the table. Two rows are considered duplicates if every cell value is identical. Only the first occurrence of each unique row is kept.
Row Numbers & Header Row Toggles
▼
Enable 'Row #' to display a numbered column on the left side of the table for easier navigation. Toggle 'Header row' to control whether the first row of your CSV is treated as column names or as data. Changing either setting re-parses the table automatically.
URL Import
▼
Click 'URL Import' to enter a remote CSV file address. The tool fetches the file directly from your browser to the target server — no data passes through any intermediary. The fetched content appears in the input textarea, ready for parsing.
Drag-and-Drop File Upload
▼
Drag a CSV, TSV, or text file directly onto the input textarea to load its contents. A visual overlay appears while dragging to confirm the drop zone. You can also use the 'Upload' button to browse for files.
Multi-Cell Selection & Sum
▼
Hold Shift and click to select a range of cells. If the selected cells contain numbers, the statistics bar displays the sum and count of numeric cells in the selection. This is useful for quick calculations without exporting to a spreadsheet.
Who Is This Tool For?
Data Analysts
Quickly inspect, sort, and filter exported datasets without opening Excel or Google Sheets. Perfect for spot-checking data quality or reviewing query results.
Developers
Debug CSV exports, validate data pipelines, inspect API output, or prepare test fixture files. Supports various delimiters and encodings used across different systems.
Marketers
Clean up email lists, review campaign export files, fix product feed data, or prepare audience CSV uploads for ad platforms.
Students & Researchers
View and edit research data, survey results, or class datasets. Transpose, sort, and filter data for analysis without learning spreadsheet formulas.
System Administrators
Inspect log exports, configuration tables, and inventory reports. Use find-and-replace to batch-update values before reimporting.
Small Business Owners
Edit product catalogs, customer lists, pricing tables, and inventory files. Export clean CSV for upload to e-commerce platforms or accounting software.
Keyboard Shortcuts
| Shortcut | Action | Description |
|---|---|---|
| Ctrl + Z | Undo | Revert the last edit (up to 100 levels) |
| Ctrl + Y | Redo | Re-apply an undone edit |
| Ctrl + Shift + Z | Redo (Alt) | Alternative redo shortcut |
| Ctrl + F | Find & Replace | Open the Find & Replace panel |
| Ctrl + S | Download CSV | Export and download the current data as CSV |
| Shift + Click | Range Select | Select a range of cells for sum calculation |
| Right-Click | Context Menu | Open context menu with row/column actions |
Supported Formats & Delimiters
| Format | Delimiter | Common File Extensions | Auto-Detected |
|---|---|---|---|
| CSV | , (comma) | .csv | Yes |
| TSV | \t (tab) | .tsv, .txt | Yes |
| SSV | ; (semicolon) | .csv (EU locale) | Yes |
| PSV | | (pipe) | .psv, .txt | Yes |
| Colon-separated | : (colon) | .txt | Yes |
| Space-separated | (space) | .txt | Manual |
Tips for Working with CSV Files
Check your delimiter first
If your data looks like it's all in one column, the wrong delimiter was detected. Change it in the dropdown and re-parse. European CSVs often use semicolons instead of commas.
Use the header row toggle
If your file has no header row, uncheck 'First row is header' before importing. The tool will generate Col 1, Col 2, etc. as placeholder headers.
Sort to find outliers
Click a column header to sort. Numeric columns sort by value, so the largest and smallest values appear at the top or bottom — great for spotting anomalies.
Use Find & Replace for bulk edits
Need to change all instances of 'USA' to 'United States'? Open Find & Replace with Ctrl+F, type both values, and hit Replace All. It's faster than editing cells one by one.
Trim before exporting
Click 'Trim Whitespace' to clean up invisible leading and trailing spaces in all cells. This prevents subtle data mismatches when importing into other systems.
Choose the right encoding
If your data has accented characters (é, ü, ñ), use UTF-8 or UTF-8 with BOM for export. BOM helps Excel on Windows recognize the encoding. Use ISO-8859-1 only for legacy systems.
Privacy & Security
This tool runs 100% in your browser. Your CSV data is never uploaded to any server. All parsing, editing, sorting, filtering, and exporting happens locally using JavaScript.
Your data is automatically saved to your browser's local storage so it persists when you refresh the page. You can clear it by deleting all rows or clearing your browser data. No cookies are used, no analytics track your file contents, and no third-party services have access to your data. The “Import from URL” feature fetches data directly from your browser — the request goes straight from your machine to the target server.