Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>CSV ClearViewNew to Visual Studio Code? Get it now.
CSV ClearView

CSV ClearView

Vinu Thomas

|
1,825 installs
| (0) | Free
Open 500MB+ CSV files without a size cliff — colored columns, real SQL queries, column profiling, and duplicate detection in one editor.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CSV ClearView - The Ultimate CSV Editor for VS Code

VS Code Marketplace Version Downloads
Open VSX Version Downloads

The CSV editor that doesn't give up on your biggest files. Most CSV tooling for VS Code quietly stops working somewhere between 20MB and 50MB — highlighting switches off, the grid stops rendering, or you're told to open the file somewhere else. CSV ClearView is built the other way around: virtual scrolling, chunked parsing, and head/tail sampling mean a 500MB+ file opens and stays responsive, with real SQL, full column profiling, and duplicate detection working on it the whole time.

Built for data engineers, analysts, and scientists who would rather not leave the editor.

Installation

You can install this extension from the Open VSX Registry, which makes it available for VS Codium, Cursor, Gitpod, and other VS Code-compatible editors:

Install from Open VSX Registry

Manual Installation (.vsix)

You can also install the extension manually by downloading the compiled .vsix file from the GitHub Releases page.

To install manually in Cursor or VS Code:

  1. Download the latest csv-clearview-x.x.x.vsix file from the Releases page.
  2. Open your editor and go to the Extensions view (Cmd+Shift+X or Ctrl+Shift+X).
  3. Click the ... (Views and More Actions) menu at the top right of the Extensions view.
  4. Select Install from VSIX...
  5. Locate the downloaded file and select it to install.

Screenshots

Color-coded columns with alternating rows

Each column is automatically color-coded for instant visual separation, with alternating row shading to keep your eyes on the right line — no more losing your place in wide datasets.

SQL query bar for ad-hoc data analysis

Run SQL SELECT queries directly on your CSV without leaving VS Code. Filter, sort, aggregate, and join — powered by a full in-memory SQL engine.

Data profile panel showing column types and statistics

The Profile panel gives you a complete schema summary at a glance: inferred data types, null percentage, distinct value counts, and min/max ranges for every column.

Histogram distribution chart in the column stats popover

Shift+click any numeric column header to see an instant distribution histogram alongside min, max, mean, median, and percentile stats — no external tools needed.

Excel workbook open in read-only mode with a sheet-tab switcher

Open .xlsx files directly — no more converting to CSV first. Multi-sheet workbooks get a sheet-tab switcher right in the toolbar so you can flip between sheets instantly.

Custom and regex delimiter dialog parsing an aligned log file

Not everything is comma-separated. Set any delimiter you like — a multi-character string such as ||, or a regular expression — and watch the column count update live before you apply. Here a space-aligned application log is split into clean timestamp / level / service / message columns with [\s]{2,}. Give it a name and it joins the picker for every file you open.

Why CSV ClearView?

Stop switching between VS Code, Excel, and a Python notebook. CSV ClearView delivers a complete data exploration experience without leaving your editor — and keeps delivering it at sizes where other tooling backs out.

What sets it apart

  • 🗻 No size cliff - No 20MB warning, no 50MB cut-off, no "open this elsewhere". Virtual rendering and smart chunking keep 500MB+ files scrolling smoothly, and every feature — SQL, filters, profiling, duplicates — keeps working at that size.
  • 🔍 Real SQL, not a lookalike - A genuine in-memory SQL engine runs full SELECT statements with WHERE, GROUP BY, aggregates, and joins. Not a SQL-flavoured expression syntax — the SQL you already know.
  • 📈 Profiling without a notebook - Inferred types, null counts, distinct values, min/max ranges, and distribution histograms are one click away. No Python, no pandas, no kernel to start.
  • 🔎 Duplicate detection built in - One click finds every duplicate row in the file, groups them together, and shows the original line number of each so you can go straight to it in the source.
  • ♻️ Non-destructive by default - Filters, queries, sorting, and duplicate views change what you see, never what's on disk. Your file is untouched until you explicitly edit or export.
  • 🧰 One tool, not three - Colour-coded grid, SQL, profiling, linting, raw-text view, and .xlsx reading in a single extension — no stacking several to get a full workflow.
  • 🔣 Any delimiter, not just commas - Multi-character separators like || or ::, or a full regular expression for space-aligned logs and mixed-separator exports. Name the ones you use and they stay in the picker.

Everything else you get

  • ✏️ Edit with confidence - In-place cell editing with full undo/redo support
  • 🔎 Find & Replace - Search and replace across the entire grid
  • 🎨 Stay oriented - Color-coded columns, sticky headers, and freeze panes keep you focused
  • 📋 Handle headerless files - Toggle the header row off and filter, sort, and query log exports with generated column names
  • 🧪 Catch bad rows early - Inconsistent column counts and unclosed quotes surface in the Problems pane with one-click jump-to-line

Perfect for data analysis, ETL pipeline debugging, machine learning dataset inspection, log file analysis, and database exports.

Key Features

🎨 Visual Clarity

  • Colored Columns: Each column is automatically color-coded for instant visual separation (adapts to dark/light themes)
  • Sticky Header: Header row stays fixed at the top while scrolling through thousands of rows
  • Alternating Rows: Zebra-striping for improved row readability
  • Freeze Panes: Right-click any column header to freeze it Excel-style for easy comparison

🔍 Data Analysis & Profiling

  • SQL Queries: Run full SQL SELECT statements on your CSV data (powered by AlaSQL)
    • Example: SELECT * FROM ? WHERE [Price] > 100 ORDER BY [Date] DESC
    • Query history with bash-style ↑/↓ navigation (stores up to 50 queries)
  • Column Filters: Click Filter to show a per-column filter row — type in any column's box to instantly narrow rows by case-insensitive substring match. Press Esc to clear all filters.
  • Column Statistics: Shift+click any column header for instant stats
    • Numeric: min, max, mean, median, std dev, percentiles, inline histogram
    • Date: earliest, latest
    • String: length stats, frequency distribution
    • All: null count, distinct values, top-5 most common values
  • Export: Click Export to save your data via a native save dialog
    • Full File: export the entire file to JSON, Markdown table, or HTML table
    • Current View: export whatever's currently displayed — filtered rows, sorted order, or SQL query/aggregation results — to CSV, JSON, Markdown, or HTML
  • Data Type Inference: Automatic detection of integers, floats, dates, booleans, and strings with visual badges
  • Schema Summary Panel: Click Profile for a complete data dictionary showing type, nulls, distinct count, and ranges for every column

🔎 Duplicate Detection

  • One-click scan: Click Duplicates to instantly find all duplicate rows across the entire file
  • Grouped view: "Show only duplicates" hides non-duplicate rows and groups matching rows together with a thin divider between each group
  • Original line numbers: A # column shows the exact CSV line number of every duplicate row so you can find it in the source file immediately
  • Amber highlights: Duplicate rows are tinted amber in the normal view for quick visual scanning
  • Non-destructive: Dismiss or restore the full table at any time — your data is never changed

🧭 Navigation

  • Go to Row: Jump to any row by number instantly — the target row flashes to confirm navigation
  • Row & Column Count: A live toolbar badge shows the total rows × columns — and how many rows are hidden when filters or queries are active
  • Error markers: Visual markers in the scrollbar for quick jumping to parsing errors

📊 Large File Support

  • Virtual Scrolling: Handle 500MB+ files with only visible rows rendered
  • Head/Tail Sampling: Instant preview of massive files without loading everything
  • Smart Chunking: Files are processed in chunks to keep VS Code responsive
  • Configurable Thresholds: Set your own limits for when large-file mode kicks in

✏️ Editing & Validation

  • In-Place Cell Editing: Double-click any cell to edit with full undo/redo support
  • CSV Linting: Automatic detection of rows with inconsistent column counts
  • Raw File View: Click Raw to flip between the table and the underlying file text — perfect for eyeballing a row with a stray delimiter, then flip back
  • Open in Text Editor: Parse errors include a one-click button that reopens the file in VS Code's text editor so you can fix the offending line directly
  • Native Diagnostics: Parsing errors surface in VS Code's Problems pane

🔧 Format Flexibility

  • Excel (.xlsx) Viewing: Open .xlsx workbooks directly — each sheet renders through the same colored grid, SQL query, filter, profile, and export tools as CSV. Multi-sheet workbooks get a sheet-tab switcher in the toolbar. Currently read-only (no cell editing or save-back to Excel).
  • Auto-Delimiter Detection: Automatically recognizes comma, tab, pipe, and semicolon delimiters
  • Multi-Character Delimiters: Files separated by ||, ::, <SEP> or any other string parse correctly — pick Custom… from the delimiter badge. Fully editable and saved back with the same separator
  • Regex Delimiters: Split on a pattern such as {2,} or [,;] for column-aligned logs and mixed-separator exports, with a live column-count preview that warns you when a pattern splits unevenly. Read-only, since a pattern has no single separator to write back
    • For space-aligned columns use {2,} (two or more spaces) rather than \s+ — \s+ splits on every space, including spaces inside a message or description field
  • Saved Delimiters: Give a custom delimiter a name and it joins the picker for every file you open. Manage the list — apply or delete — from Manage saved… on the delimiter badge. Stored in your VS Code settings, so it follows your profile across workspaces
  • Multi-Format Support: .csv, .tsv, .tab, .psv files open natively
  • Open Any File: Use the "Open with CSV ClearView" command (right-click Explorer or Command Palette) to open any file — .txt, .dat, .log, etc. — in the CSV editor
  • Manual Override: Click the delimiter badge in the toolbar to change parsing
  • Headerless Files: Click Headers to toggle whether the first row is a header — files without one (e.g. exported logs) get generic Column 1..N names so filtering and SQL still work (csvClearView.firstRowIsHeader sets the default)
  • Type-Aware Sorting: Click column headers to sort with intelligent handling of numbers, dates, and strings

Use Cases

✅ Data Engineers - Debug ETL pipelines, validate transformations, inspect data quality
✅ Data Scientists - Quick dataset exploration, feature analysis, ML data validation
✅ Analysts - Ad-hoc SQL queries, statistical summaries, large report inspection
✅ Developers - Log file analysis with regex delimiters, database export review, test data generation
✅ DBAs - Query result inspection, data migration validation, schema analysis
✅ SREs / Platform - Turn space-aligned log exports, ps/df dumps, and legacy pipe-delimited feeds into a sortable, queryable grid

Quick Start

  1. Open any CSV file - Just open .csv, .tsv, .tab, or .psv files and CSV ClearView activates automatically
  2. Open any file - Right-click any file in the Explorer and choose "Open with CSV ClearView" to open .txt, .dat, .log, or any other delimiter-separated file
  3. Query your data - Type SQL in the query bar at the top: SELECT * FROM ? WHERE [Department] = 'Sales' ORDER BY [Salary] DESC
  4. Find duplicates - Click Duplicates to scan for duplicate rows, then Show only duplicates to see them grouped with original line numbers
  5. Jump to any row - Click Go to Row and type a row number to navigate instantly
  6. Explore statistics - Shift+click any column header for detailed stats or click Profile for a full data summary
  7. Sort and freeze - Click column headers to sort, right-click to freeze panes
  8. Filter rows - Click Filter to show a per-column filter row and narrow results by substring match
  9. Edit cells - Double-click any cell to edit in-place with undo/redo support
  10. Parse anything - Click the Delim: badge → Custom… to split on ||, ::, or a regex like [\s]{2,} for aligned logs — then name it to keep it
  11. Handle large files - For 20MB+ files, choose Head, Tail, or Plain Text mode when prompted

Configuration

Customize CSV ClearView through VS Code settings:

Setting Default Description
csvClearView.stickyHeader true Keep header row fixed at top while scrolling
csvClearView.firstRowIsHeader true Treat the first row as a header; when false, generic Column 1..N names are used and the first row is shown as data
csvClearView.alternatingRows true Enable zebra-stripe row coloring
csvClearView.safeModeThreshold 20 File size (MB) to trigger large-file mode options
csvClearView.forceTextColumnColoring false Force column coloring in Plain Text mode (may impact performance)
csvClearView.delimiter auto Delimiter: auto, a single character (,, \t, \|, ;), a multi-character string (\|\|, ::), or a regex when delimiterIsRegex is on
csvClearView.delimiterIsRegex false Treat delimiter as a regular expression. Files parsed this way are read-only
csvClearView.savedDelimiters [] Named delimiters shown in the picker — { "name", "value", "isRegex" }. Managed from the toolbar, or edited here directly

Delimiters & Log Parsing

Plenty of useful files aren't comma-separated. Click the Delim: badge in the toolbar to change how the file is split — the picker offers the usual suspects plus Custom… for anything else.

Multi-character delimiters

Legacy exports and hand-rolled feeds often use a separator that is more than one character, precisely so it can't collide with the data:

order_id||customer||product||qty
1001||Ada Lovelace||Analytical Engine||1

Enter || in Custom… and you get four clean columns. A single | inside a value won't split it. Multi-character delimiters are fully editable — edits save back with the same separator.

Regex delimiters

Tick Regular expression to split on a pattern instead of a fixed string. The dialog shows a live column count for the first 20 lines, so you can tell whether the pattern is right before applying it.

Pattern Splits on Good for
[\s]{2,} Two or more spaces Space-aligned logs, ps/df/netstat output
\s*\\|\s* A pipe with optional padding mysql/psql table output
[,;] Either a comma or a semicolon Exports with mixed separators
\t+ One or more tabs Ragged tab-aligned reports

Log parsing example. A typical aligned application log:

timestamp             level    service        message
2026-09-09T10:14:02   INFO     auth-service   user login succeeded
2026-09-09T10:15:31   ERROR    payment-api    upstream timeout after 30s

Apply [\s]{2,} and it becomes a four-column grid — then sort by level, filter to one service, or run SQL over it:

SELECT [service], COUNT(*) AS errors
FROM ? WHERE [level] = 'ERROR'
GROUP BY [service] ORDER BY errors DESC

Use {2,}, not \s+, for aligned columns. \s+ matches every run of whitespace, including the single spaces inside user login succeeded — that field would split into three more columns. The preview warns you when a pattern produces a ragged split.

Regex mode is read-only: a pattern matches many different separators, so there is no single string to write edited rows back with. Sorting, filtering, SQL, profiling, and export all still work.

Saving delimiters you use often

Type a name in the Custom… dialog and the button becomes Save & apply — the delimiter then appears in the picker for every file you open. Use Manage saved… to apply or delete them. The list lives in your VS Code user settings, so it follows your profile across workspaces:

"csvClearView.savedDelimiters": [
  { "name": "Legacy feed", "value": "||", "isRegex": false },
  { "name": "Aligned log", "value": "[\\s]{2,}", "isRegex": true }
]

Opening files that aren't .csv

Logs rarely end in .csv. Right-click any file in the Explorer and choose "Open with CSV ClearView" to open a .log, .txt, .dat, or extension-less file in the grid.

SQL Query Guide

CSV ClearView includes a full SQL engine (AlaSQL) for ad-hoc data analysis:

  • Table name: Always use ? to reference your CSV data
  • Column names with spaces: Wrap in brackets: [First Name], [Unit Price]
  • Column names are case-sensitive: [Price] and [price] are treated as different columns — use the exact casing from the header row
  • String literals: Use single quotes: 'Smith', 'New York'
  • Allowed operations: Only SELECT statements (safety restriction)
  • Blocked operations: DROP, DELETE, INSERT, UPDATE, CREATE, ALTER, etc.

Example queries:

-- Filter and sort
SELECT * FROM ? WHERE [Age] > 25 ORDER BY [Salary] DESC

-- Aggregate statistics
SELECT [Department], COUNT(*) as count, AVG([Salary]) as avg_salary 
FROM ? GROUP BY [Department]

-- Complex conditions
SELECT * FROM ? WHERE [Status] = 'Active' AND [Revenue] > 10000

Supported File Formats

Extension Delimiter Notes
.csv Auto-detected Usually comma, but intelligently detects tab, pipe, semicolon
.tsv, .tab Tab Tab-separated values
.psv Pipe (\|) Pipe-separated values
.xlsx N/A Excel workbook — read-only, with a sheet-tab switcher for multi-sheet files
.log, .txt, .dat, any Custom or regex Open via right-click → "Open with CSV ClearView", then set the delimiter from the toolbar badge

CSV ClearView auto-detects comma, tab, pipe, and semicolon. Anything else — a multi-character separator like ||, or a regular expression for aligned logs — is one click away on the delimiter badge. See Delimiters & Log Parsing.

What's New

See the CHANGELOG for detailed release notes.

Unreleased

  • New: Custom & regex delimiters — Split on a multi-character separator such as ||, or on a regular expression such as [\s]{2,} for space-aligned log files. Live column-count preview before you apply, with a warning when a pattern splits unevenly
  • New: Saved delimiters — Name a delimiter and it stays in the picker for every file you open; manage the list from the toolbar

Latest Release (v1.3.1)

  • Fixed: Markdown export pipe escaping — A cell value with a backslash immediately before a | could leave the pipe unescaped in exported Markdown tables, breaking the column structure

Recent Highlights (v1.3.0)

  • New: Excel (.xlsx) viewing — Open .xlsx workbooks directly in the same grid used for CSV, with a sheet-tab switcher for multi-sheet files. Read-only for now (no cell editing or save-back to Excel).

Recent Highlights (v1.2.0)

  • New: Headers toggle — A Headers toolbar button toggles whether the first row is treated as a header, so headerless files (e.g. exported logs) get generic Column 1..N names and can still be filtered, sorted, and queried
  • New: Row & column count badge — The toolbar shows a live rows × cols badge, including how many rows are hidden when filters or a query are active
  • New: Raw file view — A Raw toolbar button flips between the table and the underlying file text without reopening the editor
  • Two-row toolbar — Query bar and tool buttons are now split across two rows so the SQL input has room to breathe

Recent Highlights (v1.1.0)

  • New: Export — Click the new Export toolbar button to save your data as JSON, Markdown, or HTML. Export the Full File, or just the Current View (whatever's filtered, sorted, or returned by a SQL query) as CSV, JSON, Markdown, or HTML. Replaces the old query-only Save CSV button.

Recent Highlights (v1.0.15)

  • Column filters re-enabled — The Filter toolbar button is back, letting you show a per-column filter row and narrow rows by substring match

Recent Highlights (v1.0.14)

  • New: Column Histogram — Shift+click any numeric column header to see an instant distribution histogram in the stats popover, alongside min/max/mean/median and percentiles

Recent Highlights (v1.0.13)

  • 10 correctness bug fixes — CSV parsing, cell editing on large files, RFC-4180 quote handling in chunked mode, whitespace coercion in SQL, and more

Earlier (v1.0.7–v1.0.8)

  • New: Open with CSV ClearView command — Open any file (.txt, .dat, .log, etc.) in the CSV editor via right-click or Command Palette
  • New: Duplicate Row Detection — One-click scan finds all duplicate rows, highlights them in amber, and groups them with original CSV line numbers
  • New: Go to Row — Jump to any row by number with a single keystroke

Earlier (v1.0.3–v1.0.6)

  • Moved SQL execution to the extension host — removed unsafe-eval from Content Security Policy
  • Fixed SQL aggregation functions (AVG, SUM, MIN, MAX) on numeric CSV columns
  • Better SQL error messages for common mistakes (double quotes, etc.)
  • Dependency and security updates

Development

Prerequisites

  • Node.js (includes npm)
  • Visual Studio Code

Build and Install Locally

# Install dependencies
npm install

# Compile and package the extension
npm run compile
node_modules/.bin/vsce package

# Install into your VS Code
code --install-extension csv-clearview-1.3.0.vsix

Debugging

  1. Open the project folder in VS Code
  2. Press F5 to launch the Extension Development Host
  3. Open any .csv file in the new window to test your changes

Keywords

CSV, TSV, viewer, editor, table, grid, spreadsheet, Excel, xlsx, data analysis, SQL queries, data profiling, statistics, large files, virtual scrolling, duplicate detection, delimiter detection, custom delimiters, regex delimiters, log parsing, log file viewer, data science, ETL, pipe-separated, tab-separated, data visualization, column sorting, data validation, go to row, row navigation

License

MIT


Made with ❤️ for the data community | Report Issues | Contribute

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