A cross-platform C# editor and playground.
NetPad is a C# playground that lets you run C# code instantly, without the hassle of creating and managing projects. Open NetPad, start coding, hit Run, and see your output immediately. It's that simple.
- Prototyping and Testing: Quickly prototype and test code snippets before incorporating them into your projects.
- Data Visualization: Visualize data interactively for better insights and analysis.
- Database Queries: Query databases using LINQ or SQL effortlessly.
- Learn and Experiment: Experiment with new C# features or start learning C# in an intuitive and accessible environment.
- Utility Scripts: Create and save your own utility or administration scripts for repeated use.
See Features.
If you like this project, please star it 🌟 and consider sponsoring!
This project aims to create an open-source, cross-platform alternative to LINQPad. NetPad can run as a native desktop app or in a web browser, and aims to cover the most commonly used features while introducing new ones of its own.
Join the Discord server to collaborate, ask questions and get the latest announcements.
The following must be installed to use NetPad:
- .NET SDK (v6 or later)
Additional requirement if you plan to create and use database connections:
- EF Core tools (v6 or later)
NetPad comes in 2 variants:
- Electron: The current stable package. Installers start with
netpad - Native (vNext): Uses a native desktop shell built with Tauri instead of Electron, resulting in a lighter package that uses fewer system resources. Installers start with
netpad_vnext
Both variants have the same features and are equally maintained. The Native (vNext) variant is planned to become the main package, at which point the Electron variant may be deprecated.
Note
On macOS see this if you have trouble opening NetPad.
These packages are maintained by community members.
| Installer | Channel | Command |
|---|---|---|
| stable | yay -S netpad-bin |
|
| vNext | yay -S netpad-vnext-bin |
|
| stable | winget install --id=TareqImbasher.NetPad -e |
|
| vNext | winget install --id=TareqImbasher.NetPad.vNext -e |
NetPad checks for updates on startup and will notify you when a new version is available. The latest version can always be downloaded from the Releases page.
The Wiki is a great place to find more information about NetPad. See the Troubleshooting page if you run into any issues.
- Scripting:
- Write, save and run your own scripts
- Manage namespaces
- Per-script .NET SDK version selection
- Auto-open unsaved scripts from previous session on launch
- Output & Visualization:
- Dump complex objects to the results console
- Export results to Excel or HTML
- User-defined results styling
- Database:
- Add database connections and servers
- Query with LINQ or SQL
- Packages & References:
- Add NuGet packages to scripts
- Reference assemblies from disk
- CLI:
- Run scripts from the command-line using npad
- Code Analysis:
- Syntax Tree Visualizer
- IL Viewer
- Editor:
- Vim keybindings
- User Secrets management
- Code Intelligence (OmniSharp):
- Code Completion (Intellisense)
- Semantic Highlighting
- CodeLens
- Inlay Hints
- Hover for Documentation
- Go-to implementation
- Find References
- Find Symbol
- Rename Symbol
- Action Suggestions
- Diagnostics
- Document Highlighting
- Contextual code folding
- Format document/selection/on-type
Recently Added in v0.11.0 ✨
- .NET 10 Support: Support for the .NET 10 SDK.
- NetPad CLI (
npad): Run scripts, standalone C# files, and inline code directly from the terminal. Install withdotnet tool install -g netpad.cli. Wiki - IL Viewer: Inspect the generated IL for your scripts in the Code pane.
- User Secrets Manager: Manage and access user secrets via a dedicated pane and
Util.Secrets. Wiki - Oracle Data Connections: Oracle database connections are now supported.
- Debugging
- Hyperlink driven Lazy-loading of results, and a DataGrid view
- Benchmark your code
- Referencing other scripts
- Export a script as a "ready to run" .NET app
- Export a script as a C# project
- Git tracking of script changes
- Workspaces/Sessions
- Plugins
All Pull Requests, feedback and contributions are welcome! Please read the Contributing guidelines for more information about how to contribute and build/run the project.
A special thanks to NetPad's wonderful sponsors. Sponsorships help pay for macOS builds and cross-platform testing and helps me maintain this project.
If you enjoy using NetPad and would like to support its continued development, consider sponsoring the project. A small contribution helps immensely with maintenance and the addition of new features. Thank you for your support! ❤️
- .NET for the backend.
- ElectronSharp (github) for the Electron desktop app and Tauri (docs) for the native desktop app.
- Aurelia 2 (docs) for the UI.
See CONTRIBUTING.md for instructions on how to build and run NetPad from source. NetPad can be run as a desktop app or as a web application accessed with a web browser.






