Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>Open WranglerNew to Visual Studio Code? Get it now.
Open Wrangler

Open Wrangler

Matteo Mazzarelli

|
8 installs
| (0) | Free
An open-source dataframe wrangler for VS Code-family desktop editors with native Polars, DuckDB, and Pandas support.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Open Wrangler logo

Open Wrangler

Visual dataframe exploration and reproducible cleaning for VS Code-family desktop editors, with engine-native Polars, DuckDB, and Pandas execution.

Inspired by Microsoft Data Wrangler's explore, transform, and export workflow, Open Wrangler is an independent clean-room implementation, not a fork. It uses no Microsoft Data Wrangler code or assets.

Latest GitHub release CI status Visual Studio Marketplace version Open VSX version MIT license

Install

  • Visual Studio Marketplace
  • Open VSX
  • Manual or offline install from a checksummed GitHub Release

For a downloaded VSIX, open the Extensions view and choose Views and More Actions → Install from VSIX….

Editor Support
VS Code Release-tested
Cursor Release-tested
Other VS Code desktop forks Experimental
Browser-hosted vscode.dev Unsupported

Open Wrangler requires Python 3.10 through 3.14. It uses your configured Python path, selected environment, or a supported system interpreter. Missing packages are listed before the extension offers an explicit, confirm-before-install action.

Why Open Wrangler

  • Stay native to the selected engine. Polars remains Polars, DuckDB remains DuckDB, and Pandas remains Pandas. Polars and DuckDB operations never detour through Pandas.
  • Preview every change. Review the draft result, data diff, and executable engine-specific code before applying or discarding a step.
  • Keep exploration separate from cleaning. Filters and ordered multi-column sorts change the view, not the source or cleaning plan. The newest sort becomes priority 1, and priorities remain editable from Filters / Sorts in the workbench or Activity Bar. Exports always target a separate file.
  • Navigate large and wide tables efficiently. The grid fetches bounded row and column blocks, while file-backed Polars sessions stay lazy where the format permits.

The same Open Wrangler regional-orders session split between the default light and dark VS Code themes, with the virtualized grid and exact Revenue insights visible

The same packaged session in VS Code's default light and dark themes.

Quick start

  1. Open a CSV, TSV, Parquet, JSONL/NDJSON, or Excel file and choose Open in Open Wrangler from the branded editor-toolbar action or context menu.
  2. Explore column summaries, search, filter, and sort without changing the source.
  3. Choose Add step, review the data diff and generated code, then apply the step or discard it.
  4. Choose Export to save cleaned CSV or Parquet data without overwriting the source.

Ordinary CSV and TSV opens infer the delimiter, encoding, quote style, and header automatically. Use Import options only when a file needs an explicit override.

Notebook workflows

When a trusted Python kernel becomes available, Open Wrangler prepares its Pandas and Polars inline preview without requiring an earlier Open Wrangler command. If Microsoft Data Wrangler is installed too, Open Wrangler asks once which extension should own automatic previews; change that choice later with Open Wrangler: Choose Notebook Preview Provider.

The button inside an inline table expands the preview saved in that .ipynb file. To keep notebooks quick to reopen and share, a saved preview may contain only part of a very large dataframe; Open Wrangler says so clearly whenever rows or columns were left out.

To work with the full, current dataframe, use the notebook toolbar's branded Open in Open Wrangler action. It discovers supported variables from the selected kernel, shows their engine and dataframe type, and pages through the live data as you navigate. This portability limit applies only to previews stored inside notebooks, not to live dataframes or CSV, TSV, Excel, Parquet, and JSONL files.

A Pandas dataframe rendered by Open Wrangler inside a real packaged VS Code Jupyter notebook

A real packaged VS Code notebook with a lightweight Pandas inline preview.

The engine gallery also shows a live native Polars notebook draft with generated Polars code, a native DuckDB rich-Parquet file session, and the experimental PySpark notebook viewer. DuckDB notebook relations are not yet supported; Open Wrangler does not silently convert them to Pandas.

PySpark 4.2 DataFrames can open as experimental, viewing-only live notebook sessions. Filtering, sorting, paging, and requested profiles stay in Spark; only bounded results return to the notebook runtime. File sessions, cleaning, exports, code insertion, and saved inline snapshots are not supported. Opening currently indexes and counts the complete frame, while per-page transfer safeguards are not dataframe row limits. See the real packaged PySpark notebook capture.

Engines and formats

Engine Files Notebook data How it runs
Polars CSV, TSV, Parquet, JSONL/NDJSON, Excel DataFrame, LazyFrame, Series Native; text and Parquet formats use lazy scans. Excel loads eagerly.
Pandas CSV, TSV, Parquet, JSONL/NDJSON, Excel DataFrame, Series Native, including duplicate column labels
DuckDB, preview CSV, TSV, Parquet, JSONL/NDJSON Not currently supported Native file-backed relations
PySpark 4.2, experimental Not currently supported DataFrame Viewing-only Spark queries with bounded returned results

Automatic file selection prefers Polars, then DuckDB, then Pandas. A file backend can also be pinned in settings. Notebook variables are matched to their native supported dataframe type, including PySpark 4.2 DataFrames. Polars LazyFrames collect when opened from a notebook.

Python pickle files are deliberately unsupported: loading a pickle can execute arbitrary code. Convert trusted pickle data to Parquet, CSV, or JSONL in a controlled Python environment before opening it in Open Wrangler.

From source to reusable code

Open Wrangler combines progressive, type-aware summaries, column search, 27 built-in cleaning operations, editable engine-native code, and replayable history. Numeric columns expose exact distribution and scalar statistics; text columns expose exact empty-string and character-length statistics. Copy generated Python, save it as a script, insert it into the originating notebook, or export cleaned CSV and Parquet data without overwriting the source. Each open dataframe owns its view, cleaning plan, runtime session, and export target, so simultaneous tabs do not share state.

See the operation and command reference for the complete surface.

Performance, with evidence

Current installed-editor benchmarks cover first-grid opening for a 100,000 by 50 CSV and a 1,000,000 by 20 Parquet file through native Polars. The Parquet scenario also measures cached scrolling, uncached paging, filtering, and sorting. These fixture sizes are evidence points, not row limits. Practical scale depends on the backend, format, operation, storage, memory, and machine. The detailed evidence lives in the feature parity record.

A fair, reproducible black-box comparison with Microsoft Data Wrangler is still in progress in the performance comparison tracker. Until the same files, environments, versions, and user-visible timing boundaries can be compared, Open Wrangler does not claim to be universally faster.

Roadmap

Target Focus
v1.1.x Real-user interaction and visual polish #88, reproducible performance comparison #91, native DuckDB notebook-relation viewing #157, and bounded validation in other VS Code-based desktop IDEs #86
v1.2 Graduate PySpark from its experimental, viewing-only preview to a supported scope after the distributed correctness, recovery, performance, and editor gates in #36 are green
v2 Native R data frames, tibbles, and data.table, including Quarto and R Markdown workflows #87

Patch releases ship as soon as a coherent user-facing improvement passes the exact-artifact release gates.

Contributing and support

Contributions are welcome. See CONTRIBUTING.md, use GitHub Issues for bugs and feature requests, and follow SECURITY.md for vulnerability reports.

License

Open Wrangler is licensed under the MIT License. It is independently developed from public documentation and black-box behavior, uses no Microsoft Data Wrangler code or assets, and is not affiliated with Microsoft.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft