interactive icon indicating copy to clipboard operation
interactive copied to clipboard

.NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways y...

.NET Interactive dotnet bot in space

Discord Build Status Binder

.NET Interactive takes the power of .NET and embeds it into your interactive experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.


Notebooks with .NET

Visual Studio Code

We recently introduced the .NET Interactive Notebooks extension for Visual Studio Code, which adds support for .NET Interactive using the new Visual Studio Code native notebook feature. We encourage you to try it out. If you'd like to contribute, you can start here.



Multi-language notebooks

.NET Interactive enables users to mix languages in a single notebook or cell without a wrapper. The multi-language experience opens up doors for users to use the best language for the task at hand.

Languages supported

  • C# and F#
  • PowerShell built in collaboration with the PowerShell team 💙
  • JavaScript
  • HTML
  • SQL built in collaboration with the Azure Data / SQL team 💙

Coming soon

  • Kusto

What languages are we exploring?

  • Python and R

Variable Sharing

.NET Interactive enables you to write code in multiple languages within a single notebook and in order to take advantage of those languages' different strengths, you might find it useful to share data between them. Read more here.


The gif above showcases the following:

  • Variable sharing across C#, HTML and JavaScript cells.
  • Multi-language cells.

For more examples on multi-language notebooks and variable sharing check out our polyglot samples.


Low code visualization

In just a single line of code easily visualize data with Microsoft SandDance and nteract DataExplorer. For example the code snippet below will render an interactive Microsoft SandDance.



For more low code visualization examples, check out our samples.

Works with your favorite visualization libraries


The image below showcases the following:

  • C# cell: Define a variable in C#
  • JavaScript cell: Use RequireJS to import d3.js
  • HTML cell: Visualize the data

Full example here.

Jupyter and nteract

Project Jupyter is a popular platform for creating interactive notebooks that can be used for data science, documentation, DevOps, and much more.

There are several ways to get started using .NET with Jupyter, including Jupyter Notebook, JupyterLab, and nteract.

  • Try sample .NET notebooks online using Binder. This also allows you try out our daily builds, which include preview features of F# 5.
  • Install .NET Interactive to create and run .NET notebooks on your machine.
  • Share your own .NET notebooks with others online using Binder.
  • Use .NET Interactive with nteract
  • Use .NET Interactive on Raspberry Pi and pi-top


You can find additional documentation here.


We provide a number of packages that can be used to write custom extensions for .NET Interactive or to build your own interactive experiences.

Package Version Description
Microsoft.dotnet-interactive Nuget The dotnet-interactive global tool
Microsoft.DotNet.Interactive Nuget Core types for building applications providing interactive programming for .NET.
Microsoft.DotNet.Interactive.Formatting Nuget Convention-based and highly configurable .NET object formatting for interactive programming, including support for mime types suitable for building visualizations for Jupyter Notebooks and web browsers.
Microsoft.DotNet.Interactive.FSharp Nuget Microsoft.DotNet.Interactive.Kernel implementation for F#
Microsoft.DotNet.Interactive.CSharp Nuget Microsoft.DotNet.Interactive.Kernel implementation for C#
Microsoft.DotNet.Interactive.PowerShell Nuget Microsoft.DotNet.Interactive.Kernel implementation for PowerShell

Contribution Guidelines

You can contribute to .NET Interactive with issues and pull requests. Simply filing issues for problems you encounter is a great way to contribute. Contributing code improvements is greatly appreciated. You can read more about our contribution guidelines here.

Customers & Partners

Azure Synapse Analytics Azure HDInsight (HDI)
Azure Synapse Analytics uses the .NET kernel to write and run quick ad-hoc queries in addition to developing complete, end-to-end big data scenarios, such as reading in data, transforming it, and visualizing it You can launch Jupyter notebooks from your HDInsight cluster to run big data queries against the compute resources in that cluster.