The .NET Programmer’s Playground
5 million downloads
Windows + macOS

The Ultimate Scratchpad for C#, F# and VB

LINQPad is not just for LINQ queries, but any C#/F#/VB expression, statement block or program. Put an end to those hundreds of Visual Studio Console projects cluttering your source folder and join the revolution of LINQPad scripters and incremental developers.

Reference your own assemblies and NuGet packages. Prototype your ideas in LINQPad and then paste working code into Visual Studio. Or call your scripts directly from the command-line.

Want to test a variation of your script? Clone your query in a single keystroke!

Experience LINQPad’s rich output formatting, optional debugger and autocompletion, and the magic of dynamic development and instant feedback!

Query Databases in a Modern Query Language

Hanselman
Fantastic Learning Tool”

Scott Hanselman, Principal Program Manager, Microsoft

With LINQPad, you can interactively query databases directly in LINQ (as well as SQL). The big win with LINQ is having association properties automatically generated for all relationships (inferred from foreign key constraints), so you can access related rows without joining! LINQPad uses a custom high-performance scaffolding engine behind the scenes, and includes drivers for SQL Server, SQL Azure, Oracle, SQLite, PostgreSQL and MySQL.

When dumped, association properties appear as lazy hyperlinks that can be expanded just by clicking on them. You can walk your entire database interactively!

LINQPad Screenshot

And when you need to, you can still query in good old-fashioned SQL. Use LINQPad to query SQL Server, SQLite, Oracle, MySQL or PostgreSQL — without installing any client software!

Cache Results for Subsequent Use

With LINQPad, you can cache intermediate data with Util.Cache. Edit and re-run your query without recomputing previous results.

This provides the performance benefits of a REPL (Read-Evalulate-Print-Loop), while making it easy to keep track of what you're doing.

Experience the Legendary Dump!

LINQPad’s Dump method is famous for its capacity to eat almost anything!

Tuned with numerous heuristics, it intelligently walks object graphs for the best possible output. It even turns lazy objects into hyperlinks and asynchronous values into placeholders whose content materializes in the future!

Images and bitmaps render as images and bitmaps, and types from Reactive Extensions and Dataflow fully animate.

Dump any WPF or Windows Forms object and it will actually render.

Call the .Chart extension method to output data as a chart, using LINQPad's inbuilt charting engine.

And when you need a traditional data grid or debugger watch window, it’s there, too.

A Serious Rapid Coding Tool

With its support for advanced C# features such as async / await and unsafe, LINQPad is capable of serious rapid coding work.

Such as writing a neural network from scratch!

Import other queries or .cs files with the #load directive.

Reference project assemblies and use LINQPad as an interactive test harness. Or use LINQPad to provide instant entry points into any part of your solution.

Use LINQPad for build scripts and to automate cloud management tasks. LINQPad includes an integrated password manager for securely storing API keys, and an OAuth frontend for multifactor authentication that preserves tokens across executions.

Step through your code with a lightweight debugger, and move around quickly with symbol navigation, outlining and bookmarking.

LINQPad is also a great way to learn C#: it comes with all 1300 examples from the book, C# 12 in a Nutshell, as well as interactive samples from Jon Skeet's C# in Depth.

A .NET Swiss Army Knife

Ever needed to benchmark your code? Now you can do so with a single keypress! LINQPad uses the industrial-grade BenchmarkDotNet for accurate results, which it presents via a customizable graphic real-time visualizer. No more writing boilerplate setup code, and no more digging through text-based logs!

LINQPad Benchmark.NET integration

Need to write a regular expression? Press Ctrl+Shift+F1 and an interactive RegEx Evaluator will appear! This is actually implemented entirely as a LINQPad query that uses LINQPad's HTML controls. You can make changes to this query, or use it as as template for writing your own interactive queries.

Inbuilt RegEx Evaluator

Need to generate Excel files? LINQPad includes a custom high-speed Excel export engine that generates native .xlsx files with AutoFilter and Tables — in a single line of code. There are also options for creating multi-sheet workbooks and you can even populate a spreadsheet cell-by-cell:

Excel Export

LINQPad is Easy to Learn

LINQPad comes with an integrated tutorial/reference, comprising interactive sample queries. Browse through the tree or press Ctrl+F1 to search — you'll find a sample that demonstrates just about every feature and application of LINQPad.

Tutorial/Reference
Tutorial/Reference