The .NET Programmer’s Playground
4.5 million downloads

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

Full support for C# 12 and .NET 8 in LINQPad 8.

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
LINQPad is written and maintained by Joe Albahari, author of C# in a Nutshell. Joe is a long-time conference speaker, and has received 15 Microsoft MVP awards.

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!

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 jobs.

Such as writing a neural network from scratch!

Import other queries or .cs files with the #load directive - or the My Extensions query.

Reference project assemblies from your Visual Studio solution, 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 - and execute them from the command line. LINQPad includes an integrated password manager for securely storing API keys, and a MSAL frontend for multifactor authentication.

Debug your code with an optional lightweight debugger, and move through your code 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 magically 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

LINQPad comes with an interactive tutorial/reference, comprising hundreds of samples. Just press Ctrl+F1 to search, and you'll find a sample that demonstrates just about any feature of LINQPad.

Tutorial/Reference