Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>CSV Editor by Hazim SaeedNew to Visual Studio Code? Get it now.
CSV Editor by Hazim Saeed

CSV Editor by Hazim Saeed

Hazim Saeed

|
11 installs
| (0) | Free
Fast CSV and TSV editor for VS Code with a spreadsheet grid, filters, sorting, column colors, statistics, charts, SQL queries and data pipelines.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CSV Editor for VS Code

CSV Editor by Hazim Saeed is a fast CSV and TSV editor for VS Code and an enhanced version of the original CSV Grid Editor by Bash-365. This fork builds on the original spreadsheet-style data grid while preserving full credit to its creator and the original MIT license. Open, view, edit, filter, sort and format CSV or TSV files; inspect statistics, build charts, run SQL queries and automate repeatable data cleanup without leaving your workspace.

Rainbow column colors make wide files easier to scan. Clear alternating row bands and a full-width hover outline help you follow the same record while scrolling horizontally.

CI License

CSV Editor in action

Why

CSV files are the format everyone actually exchanges, and reading one in a text editor means counting commas. Opening it in a spreadsheet means leaving your editor, and often means the spreadsheet silently reformats your data on the way back out.

This extension puts the grid inside VS Code, on top of the file itself. The text document stays the source of truth, so Ctrl+S, Ctrl+Z, the dirty indicator, file watching and Git all behave exactly as they do for any other file. Nothing reformats your dates or drops your leading zeros.

Features

A real grid over a real file

Grid

  • Virtualised rendering that stays smooth on files with 100,000 rows and more.
  • Automatic delimiter detection for comma, tab, semicolon and pipe, with a per-file override.
  • Column types inferred as integer, number, boolean, date or text, driving right-aligned numbers, numeric sorting and the right filter operators.
  • Spreadsheet range selection with copy and paste to and from Excel. The status bar summarises the selection: count, sum, average, minimum and maximum.
  • Edit with a double-click, F2, Enter, or by simply typing. Ctrl+S saves. Ctrl+Z undoes.

Excel-style AutoFilter

AutoFilter

Click the caret in any column header, or press Alt+Down.

  • A searchable list of the column's distinct values with row counts, tri-state (Select All), and (Blanks).
  • Text, Number and Date condition filters: contains, begins with, greater than, between, before, is empty, and the rest, two at a time joined by And or Or, with * and ? wildcards.
  • Value lists cascade from the other columns' filters, so you never pick a combination that matches nothing.
  • Sorting, and a one-click clear per column.

Find, replace and sort

Find and replace

Clear three-state sorting controls

Ctrl+F opens find and replace with match case, whole cell and regular expression modes, live highlighting of every match, and replace-all in a single undo step. Header sorting uses clear ⇅, ↑ and ↓ states. The Sort dialog does up to three levels and can either sort the view or write the new order to the file.

Multi-level Sort dialog

Edit rows and columns

Cell menu

Toolbar menus and right-click menus cover insert, duplicate, move, delete and hide for both rows and columns, on single items or whole selections. Beyond that: split a column into several, merge columns together, transpose the table, remove empty or duplicate rows, fill down and right with Ctrl+D and Ctrl+R, fill a series, trim whitespace, change case, and normalize rows whose field count does not match the header.

Understand the data

Statistics

The Statistics panel gives per-column counts, distinct values, blanks, minimum and maximum, sum, mean, median, standard deviation, quartiles and the most frequent values. The Chart panel draws a histogram for numeric columns and a top-values bar chart for the rest.

Query it with SQL

SQL

The SQL panel loads the whole file into an in-memory SQLite database named csv and runs real queries against it, including joins onto itself, window functions and aggregates. Results can be copied or opened as a new CSV.

Pipelines: repeatable transformations

Pipeline builder

The same cleanup usually happens more than once. Describe it once as a *.csvpipe.json file and run it on demand, when the file opens, or when it is saved.

Tier Steps
No-code trim, change case, fill empty, find and replace, rename, select, drop, sort, dedupe, limit, split column, merge columns, transpose, remove empty rows, random sample
Low-code filter and compute, one-line expressions where columns are variables and 38 helpers are available
Code inline JavaScript, a workspace script file, a SQLite query, or any external command over stdin and stdout
{
  "name": "Clean sales export",
  "applyTo": ["data/sales-*.csv"],
  "trigger": "onSave",
  "output": { "target": "file", "format": "json", "path": "out/${name}-summary.json" },
  "steps": [
    { "kind": "trim" },
    { "kind": "filter", "expression": "in_stock && units_sold > 0" },
    { "kind": "compute", "column": "margin", "expression": "round(revenue * 0.18, 2)" },
    { "kind": "sql", "query": "SELECT category, SUM(revenue) AS revenue FROM csv GROUP BY category" }
  ]
}

Because a command step just pipes the data through your shell, anything already installed works: pandas, R, jq, awk, csvkit, Miller, qsv. Steps that evaluate code only run in trusted workspaces.

Full reference: docs/pipelines.md.

Export

The whole file or just the selection, to JSON, Markdown, HTML, SQL inserts, or a different delimiter. Selections can go straight to the clipboard.

A sidebar for settings, pipelines and files

The CSV icon in the activity bar opens three views. Settings lists every option the extension contributes, grouped, showing its current value; click one to change it, with a toggle for booleans, a picker for choices and a validated prompt for numbers. It also surfaces the per-file header and delimiter overrides for the file you are looking at, which are otherwise invisible once set from the grid toolbar. Pipelines lists the workspace's pipelines with the ones matching the current file first, and runs or edits them in one click. Files lists every delimited file in the workspace and opens it in the grid.

A control in the Settings view title chooses whether edits go to User or Workspace settings, and the current scope is shown next to the view name.

Text mode

Open any CSV as text and each column gets its own colour, hovering a cell names its column, the status bar tracks the column under the cursor, and rows with the wrong field count are reported in the Problems panel.

Getting started

Install from the Marketplace, then open any .csv, .tsv, .tab or .psv file. It opens automatically in the spreadsheet grid with editing, filters, statistics, charts, SQL and pipelines available.

To use rainbow-colored text mode instead, select Open as Text from the editor title bar or run CSV: Open as Text. To make text mode the default, add:

"workbench.editorAssociations": {
  "*.csv": "default",
  "*.tsv": "default",
  "*.tab": "default",
  "*.psv": "default"
}

You can switch back to the grid at any time with Open in Grid Editor. Details: Getting started.

Documentation

Guides are available in this repository:

Guide Covers
Getting started Installing, opening files, grid and text mode
The grid editor Editing, rows, columns, cleaning, export
Filtering, search and sort AutoFilter, find and replace, sorting
Analysis Statistics, charts, SQL
Pipelines The full pipeline reference
Keyboard shortcuts Every shortcut and its Excel equivalent
Settings Every configuration option
Troubleshooting Common problems
Feature parity Comparison with Excel and other CSV tools

Commands

Every command is under the CSV Editor category in the Command Palette.

Command Description
CSV Editor: Open in Grid Editor Open the active or selected file in the grid
CSV Editor: Open as Text Switch the current grid to the text editor
CSV Editor: Find and Replace in Grid Focus the find bar
CSV Editor: Column Statistics Open the statistics panel
CSV Editor: Chart a Column Open the chart panel
CSV Editor: Run SQL Query Open the SQL panel
CSV Editor: Export As… Export to JSON, Markdown, HTML, SQL or another delimiter
CSV Editor: Toggle Header Row Treat or stop treating the first row as headers
CSV Editor: Set Delimiter Override the detected delimiter
CSV Editor: Run Pipeline… Run a pipeline on the current file
CSV Editor: Open Pipeline Builder Open the visual pipeline panel
CSV Editor: New Pipeline Create a pipeline from a template
CSV Editor: New Pipeline Script Create a pipeline script from a template
CSV Editor: Show Pipeline Log Open the CSV Pipelines output channel
CSV Editor: Show Actions Quick pick of everything above

Settings

Setting Default Description
csvEditor.hasHeaderRow true Treat the first row as column headers
csvEditor.delimiter auto Field delimiter: auto, ,, \t, ; or \|
csvEditor.maxRows 100000 Rows rendered in the grid
csvEditor.sqlResultLimit 5000 Maximum rows returned to the SQL panel
csvEditor.rainbowColumns true Colour columns in the spreadsheet grid and text mode
csvEditor.rainbowMaxLines 20000 Only colour the first N lines in text mode
csvEditor.lintFieldCount true Warn about rows whose field count differs from the header
csvEditor.pipelines.folder .vscode/csv-pipelines Where the builder saves new pipelines
csvEditor.pipelines.allowScripts true Allow steps that evaluate code
csvEditor.pipelines.timeoutMs 10000 Time limit for expression and script steps
csvEditor.pipelines.previewRows 1000 Rows shown in the pipeline preview

Details in docs/settings.md.

Requirements

VS Code 1.90 or later. No other dependencies; everything ships in the extension.

Built with

Library Role
PapaParse RFC 4180 parsing and serialisation
Tabulator Virtualised grid, range selection, clipboard
sql.js SQLite compiled to WebAssembly
Chart.js Charts

Contributing

Development setup, architecture and conventions are in CONTRIBUTING.md. Issues and pull requests are welcome at https://github.com/hazimsaeed2/csv-editor.

License

MIT. CSV Editor is derived from the upstream CSV Grid Editor; the original copyright and permission notice are retained as required by the license.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft