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

Open Wrangler

Preview

Matteo Mazzarelli

|
248 installs
| (0) | Free
Open Wrangler is an open-source visual dataframe editor for VS Code and editors based on it. Explore files or live notebook data, make changes visually, and keep generated Python or R code.
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

Open Wrangler is a visual dataframe editor for VS Code and editors based on it. Open files or live notebook data, make changes visually, and keep the generated Python or R code.

Latest stable GitHub release Pull request CI status Install from Visual Studio Marketplace Install from Open VSX MIT license

A Polars dataframe in VS Code with missing-value counts, column distributions and a detailed revenue profile

Inspect missing values and distributions beside the rows you are exploring.

Select a column to see its profile, then click a category or histogram bin to filter the view. Search for columns, jump to a row with Ctrl+G, find cells with Ctrl+F, combine filters, order sort keys, and copy selections. The dataset summary shows empty fields, unusual values and repeated records before you decide what to change.

Install

  • Stable: Visual Studio Marketplace, the newest non-preview version on Open VSX, or the latest GitHub release.
  • Preview: choose Install Pre-Release Version in your editor, or download a GitHub prerelease.
  • From source: build and install the current main branch.

To install a downloaded VSIX, use Views and More Actions > Install from VSIX... in the Extensions view. The changelog lists the changes in each release.

What you can do

  • Clean rows: drop missing rows or duplicates, or flag repeated records with Mark duplicates.
  • Fill gaps: use a fixed value, a column or group statistic, a fallback column, forward or backward fill, or interpolation.
  • Organize columns: select, drop, rename, duplicate, and convert column types.
  • Clean text and categories: trim spaces, replace text, change case, split, extract with regular expressions, and encode categories. Press Ctrl+H to replace Find matches in one cell or across the grid.
  • Calculate values: write formulas, rank with ties, scale and round numbers, and format dates.
  • Create labels and flags: build Text or Boolean results with Conditional column.
  • Reshape and summarize: pivot between long and wide tables, or group rows and aggregate values.
  • Combine files: add columns from another CSV, TSV, Parquet or JSON Lines file by matching keys with Look up columns.

Transform by Example learns a rule from your input and output examples and previews it on other rows. Custom Code runs your own code in the dataframe's engine. Operations and fill methods vary by engine and column type; see the operation support guide.

The searchable cleaning-operation picker in Open Wrangler

Search or browse cleaning operations, then configure the selected step.

From data to code

  1. Open a source. Save the four-row sample CSV in your workspace and choose Open in Open Wrangler from Explorer, an editor tab, or the editor toolbar. TSV, Parquet, JSONL/NDJSON, and Excel files open the same way.
  2. Preview a change. Choose Add step, then Drop missing rows on sales, then Preview changes. Paris disappears from the draft, leaving Milan, Rome, and Berlin. Review the changed values and generated code, then choose Apply step or Discard.
  3. Keep the result and code. Copy the code, save it with Open Wrangler: Export Generated Script, or insert it into the notebook or R document that opened the data. Cleaned data exports to a separate CSV or Parquet file, so the source is never overwritten.

Parquet and Excel files open in Open Wrangler by default. To use another editor for a file type, choose Reopen Editor With..., then Configure default editor, or add a workbench.editorAssociations entry such as "*.parquet": "default".

Files open in Editing unless openWrangler.fileStartMode is set to viewing. The engine picker in the toolbar switches a file between Pandas, Polars, DuckDB and the R libraries in the same tab and replays your steps. If a step can't run with the new engine, Open Wrangler asks before leaving it behind.

A Polars formula draft with an added column, Apply and Discard actions, and generated Python code

Preview a new Polars formula column and its generated code before applying it.

Viewing filters and sorts change only what you see. Add a Filter rows or Sort rows step to make them part of the cleaning plan.

Review and revise your steps

Choose an applied step in Cleaning Steps to inspect its changes, then choose Current view to return. You can edit or delete earlier steps, or use Undo and Redo. Later steps replay, so the result and code follow the updated plan.

Open Wrangler: Open Another File with This Plan repeats the confirmed steps on another file with the same columns, in any order. If a column was renamed, Open Wrangler asks which column replaces it. The new tab stays a preview until you choose Keep plan, and neither file changes. Plans with Custom Code or an unfinished draft can't be copied.

Applied Formula-step inspection with projected_revenue highlighted, Edit and Delete controls, and Code Preview labeled Inspecting step 2 of 2

Inspect an applied step and its code without changing the confirmed data or viewing filters.

Use notebook data

Run the cell that creates your dataframe, choose Open in Open Wrangler from the notebook toolbar, and pick the variable. Dataframe outputs also show an inline preview with an Open in Open Wrangler button, and the side bar's Data Sources view lists the Python and R dataframes it finds.

A Pandas dataframe previewed inline below a notebook cell, with Rows, Previous and Next controls and an Open in Open Wrangler button

A notebook output previews the dataframe inline and opens it in the full workbench.

Pandas and Polars dataframes support the same viewing and cleaning workflow as files, and the generated code uses the same library. The code defines a cleaning function: load the next input with the same engine and columns, then call result = clean_data(next_frame). DuckDB plans with Custom Code also take the input's connection, clean_data(next_frame, connection=con), and their Custom Code must return a result derived from df.

  • DuckDB relations support native cleaning, generated code and export, except Custom Code. Opening one captures its full result and asks for its connection; keep that connection open, and commit or roll back any open transaction before cleaning or exporting.
  • Polars LazyFrames and lazy Custom Code results are collected in full to keep row identities stable, so they must fit in memory.
  • PySpark DataFrames from an existing local batch session support viewing, filters, sorts and profiles. Open Wrangler does not install or configure Spark; streaming dataframes and remote clusters are unsupported.

The capture requirements list the memory and storage cost of each capture.

Work with R

Open Wrangler works in R directly, with no conversion through Python. Base data.frame, tibble and data.table objects in IRkernel notebooks are supported in desktop VS Code on Linux, macOS and Windows. Preview steps, inspect the history, and copy, save or insert the generated R.

Choose R · base, R · dplyr, R · data.table or R · collapse for cleaning and generated code, either in the engine picker or with openWrangler.defaultRLibrary. The package must be installed in the R environment that owns the dataframe. Custom Code can call any installed package and return a base data.frame, tibble or data.table.

An R Group and aggregate draft with regional totals, cleaning history and generated R

Preview grouped R results alongside the cleaning history and generated R code.

R files (Preview). Choose R in the engine picker, or set openWrangler.defaultBackend to r, to open CSV, TSV, Parquet, JSONL/NDJSON or Excel files with Rscript alone. Auto also uses R when no compatible Python engine is available. R loads the whole file into memory. Parquet needs arrow and nanoparquet (and clock for exact timestamps), and Excel needs readxl. If a package is missing, the file view offers Install required packages.

R shows nanosecond and time-zone-free Parquet timestamps exactly, and displays homogeneous list columns and flat records. Use Explode List or Extract Struct Fields to turn nested values into exportable columns. The native R support guide lists the operations each library supports, including timestamp limits.

R terminal sessions on Linux and .R, .Rmd and .qmd documents on Linux and macOS are Preview. Cursor support is experimental.

Supported dataframes

Dataframe or source View Cleaning and generated code Data export
Pandas files and live dataframes Yes Pandas Python CSV / Parquet
Polars files and live dataframes Yes Polars Python CSV / Parquet
DuckDB CSV / TSV / Parquet / JSONL (experimental) Yes Supported operations, DuckDB Python CSV / Parquet
DuckDB database tables and views (experimental) Yes Unavailable Unavailable
DuckDB notebook relations Yes Supported operations, DuckDB Python CSV / Parquet
Local PySpark Classic / Connect notebooks Bounded Unavailable Unavailable
R base data.frame, tibble, data.table Yes Supported operations, native R CSV / Parquet, with limits

Open Wrangler: Open DuckDB Table browses the tables and views of a local database. A view runs once when opened, and its viewer shows a fixed copy of the rows. Close the viewers before writing to the database.

In the latest local performance comparison, Polars had the shortest median times for opening the tested CSV files and showing column profiles. The report also covers native R and the limits of its six-column synthetic fixtures.

Compatibility and limits

  • Use VS Code 1.106 or newer. Opening data, running code and exporting require Workspace Trust, so Open Wrangler stays inactive in Restricted Mode and Parquet and Excel files open in VS Code's own editor.
  • Python workflows need Python 3.10 to 3.14. Open Wrangler names any missing packages before offering to install them.
  • Windows Python notebooks need CPython 3.10.15, 3.11.10, 3.12.4 or a later patch, or any supported 3.13 or 3.14 release, and the default per-user temporary directory.
  • Other VS Code-based desktop editors have limited coverage. Browser-hosted editors are unsupported, and Remote SSH is not yet covered.

See supported environments, file-reader and export limits, and notebook runtime recovery. The reference lists commands, settings, and operation parameters.

Support and project

Browse the product gallery, the accessibility and keyboard guide, or the product roadmap. To contribute, see CONTRIBUTING.md. Report bugs in GitHub Issues, and follow SECURITY.md for vulnerability reports.

Open Wrangler grew out of an appreciation for Microsoft Data Wrangler and a desire to extend the idea as an open-source project. It was built independently, supports more dataframe engines natively, and is not affiliated with Microsoft. Licensed under the MIT License.

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