NetPad

Tareq Imbasher · TareqImbasher.NetPad

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.

winget install --id TareqImbasher.NetPad --exact --source winget

Latest 0.12.0

Release Notes

If you like NetPad, please star the repo ⭐ and consider sponsoring FOSS! This release brings performance improvements, a major CLI update, new features for managing data connections, and a large number of bug fixes and stability improvements. 🎯 A special thanks to @antonkesy and @wuuer for their contributions in this release. What's New 🚀 Database Server Connections You can now add a database server to the connections list and select one or more databases from that server. All databases under a server share the same connection and scaffolding options, so you only configure things once. Server connections are supported for SQL Server, PostgreSQL, MySQL, and MariaDB. Script Performance Improvements Script startup and re-run speed was improved:

  • Compilation results are cached so unchanged re-runs skip compilation entirely.
  • Nuget dependency graphs and script dependencies are cached so resolution only occurs when needed.
  • Framework assembly dependency cache is pre-warmed on a background thread at startup.
  • Other similar optimizations for quicker re-runs. .NET SDK Detection Improvements NetPad now discovers all valid .NET installations on your system (user settings, environment variables, user-level, system-level, PATH) and aggregates SDKs and runtimes from each. Previously, only the first valid installation was used. When running a script, the correct dotnet executable is resolved based on which installation contains the target framework's SDK. User Interface
  • Statusbar background color now changes to indicate script status (running, error, etc.), with unified status colors throughout the app.
  • A context menu was added to the scripts explorer sidebar.
  • Added separators between editor tabs and added tree nesting indicators in the explorer pane for better visual hierarchy.
  • When text is selected in the editor, the statusbar now shows the number of selected chars (or lines).
  • Style run/stop buttons with colored tints and flatten save/properties to icon buttons.
  • Change open folder icons in scripts explorer to blue to indicate expanded state.
  • Increase global border-radius for a softer look across all components.
  • Better background colors for input controls.
  • Add toolbar dividers to group action icons where needed.
  • Reduced prominence of toolbar labels (SDK, Kind, etc.) for a cleaner look.
  • Add more contrast to pane toolbar background.
  • Switch package reference buttons to outline style for less visual noise.
  • Window size and position are now remembered across Tauri app restarts (#370). [!NOTE] The Styling page of the wiki is updated with the latest styles if you want to override anything. OmniSharp / IntelliSense OmniSharp stability was improved:
  • Requests to OmniSharp are queued and wait for OmniSharp to finish its internal initialization to prevent broken language server features when typing in scripts before OmniSharp is finished loading.
  • OmniSharp now detects process crashes and auto-restarts. NetPad CLI (npad) v0.2.0 The CLI tool received a major update with many new commands and usability improvements. See the CLI wiki for more info and usage details. New commands:
  • new: Create .netpad scripts or plain .cs files with options for kind, SDK, connection, and more
  • show: Inspect a script's metadata and source code (renamed from cat, BREAKING CHANGE)
  • logs show/tail/rm/clear: View, follow, and manage log files
  • settings show/edit: View settings as a table or JSON, or open in default editor New features:
  • run is now the default command: npad myscript works without typing run
  • Stdin piping: echo 'Console.WriteLine("hi")' | npad
  • --eval (renamed from --code): Run inline C# from the command line, BREAKING CHANGE
  • --format json: NDJSON output for piping to jq and other tools
  • --kind option on run: Override a script's kind at runtime
  • Interactive script picker: Prompts for selection when multiple scripts match
  • Script exit codes: Propagates meaningful exit codes (0=success, 1=runtime failure, 2=compilation failure, 130=cancelled)
  • Short aliases: -e, -s, -c, -O, -b, -f, -m, -v, -k and command aliases ( ls, log)
  • Various TUI improvements and fixes Install or update via: dotnet tool install -g netpad.cli dotnet tool update -g netpad.cli Coming Soon: NetPad MCP Server A Model Context Protocol (MCP) server for NetPad is in the works and nearly complete. It will let AI assistants (like Claude Code) and other MCP clients to create, run, and manage scripts directly through NetPad. Stay tuned! Build & Release
  • Added Linux ARM64 and Windows ARM64 builds for both Electron and Tauri.
  • Support for alpha/beta pre-release version names in app update checks.
  • Unified release workflow: a single release.yml replaces the old pack-electron.yml and pack-tauri.yml with support for alpha/beta pre-releases. Fixes 🐛
  • Fix The filename, directory name, or volume label syntax is incorrect error (#390). Thanks to @wuuer.
  • Fix NuGet dependency resolution issues including native library resolution (#350).
  • Fix script counts in the explorer sidebar.
  • Fix using scale for precision in database structure column details.
  • Fix OmniSharp bugs related to changing a script's SDK and finding installed SDK locations.
  • Fix script-host not loading the correct SDK in release builds.
  • Fix multiple NetPad instances sharing temp directories causing IOExceptions: temp directories are now scoped per process.
  • Fix .NET backend not stopping gracefully on Windows when using the Tauri app.
  • Fix memory leaks and race conditions in several areas.
  • Fix duplicate script save overwriting existing scripts in web shell.
  • Fix unrelated script runs to serialize against each other. Support ❤️ If you find NetPad useful, please consider sponsoring the project to help keep it free and open-source! And if you haven't already, a ⭐ on the repo is always appreciated, thank you! A special thanks to all my sponsors. Your support is greatly appreciated and helps keep this project growing! New Contributors
  • @antonkesy made their first contribution in https://github.com/tareqimbasher/NetPad/pull/414
  • @wuuer made their first contribution in https://github.com/tareqimbasher/NetPad/pull/390 Full Changelog: https://github.com/tareqimbasher/NetPad/compare/v0.11.0...v0.12.0

Installer type: nullsoft

Architecture Scope Download SHA256
x64 user Download CDFB2B7310707A12BE5959EAAE823A04CCBAB1765B3E11E22F4B62ABE5F23D8E
x64 machine Download CDFB2B7310707A12BE5959EAAE823A04CCBAB1765B3E11E22F4B62ABE5F23D8E

Details

Homepage
https://github.com/tareqimbasher/NetPad
License
MIT
Publisher
Tareq Imbasher
Support
https://github.com/tareqimbasher/NetPad/issues
Copyright
Copyright (c) 2026 Tareq Imbasher

Tags

.netc#codecodingcsharpdevelopdevelopmentdotneteditorplaygroundprogramming

Older versions (5)

0.11.0
Architecture Scope Download SHA256
x64 user Download 92A8BF7BF08487CA987FD2319A9D2FDC5F7649894E221A032F50FADCCAF54D4B
x64 machine Download 92A8BF7BF08487CA987FD2319A9D2FDC5F7649894E221A032F50FADCCAF54D4B
0.10.0
Architecture Scope Download SHA256
x64 user Download 2BE94144F1E33F2B4CE1F3C3500695FA366CB43A63BFEEEAB7882AFD1FBE74A0
x64 machine Download 2BE94144F1E33F2B4CE1F3C3500695FA366CB43A63BFEEEAB7882AFD1FBE74A0
0.9.1
Architecture Scope Download SHA256
x64 user Download 93D2D34EA14246E4E4CF51F89795B2F5DBA92282792E2BDB3FF20BC63765E9F4
x64 machine Download 93D2D34EA14246E4E4CF51F89795B2F5DBA92282792E2BDB3FF20BC63765E9F4
0.9.0
Architecture Scope Download SHA256
x64 user Download 3BC3541F5A3D6524A76A4EB86110A39BB236583A7BF17A9F6B2A6E72E16191C5
x64 machine Download 3BC3541F5A3D6524A76A4EB86110A39BB236583A7BF17A9F6B2A6E72E16191C5
0.8.0
Architecture Scope Download SHA256
x64 user Download FE9642A18BDA27A47F0CC42F29A3EDE3E47C1824E81FC39B66429EFC210C7D52
x64 machine Download FE9642A18BDA27A47F0CC42F29A3EDE3E47C1824E81FC39B66429EFC210C7D52