Full-stack, functional reactive web programming for .NET

Develop microservices, client-server web applications, reactive SPAs, and more in C# or F#.

Sources on GitHub


Ask on the Forums

WebSharper Forums

Chat on Gitter


Chat on F# Slack

F# Web Slack
Microsoft Research
McGraw Hill

Join 4k+ WebSharper developers

Receive the newsletter.
Experimental tools and extensions: CodeMirror, ThreeJS, Slickgrid, and many more.

Get started in just minutes

On Windows, Mac and Linux with .NET Core.

Install the WebSharper project templates:

Create a project of your choice:

Build and run:

Functional, reactive applications with WebSharper.UI

in C# or F#

Bind composite data models to your reactive user interfaces.

The flow of reactive values through the code is explicit yet concise, for maximum readability.

Learn more...

Reactive code in C#
Server-side site definition

Web APIs and server-side JSON and HTML

Declare your URLs as a C# or F# endpoint type, and WebSharper handles the dispatch. Create safe internal links from endpoint values.

You can share the same rendering code and templates between the server and the client.

Automatically parse JSON requests and generate JSON responses based on your types.

Learn more...

Client-side routing

Write SPAs with the same routing API on the client side as you would use on the server side.

Client-side routing
C# LINQ queries and F# query expressions

Use powerful language constructs on the client side

C#: LINQ queries, asynchronous Tasks, generators...

F#: Query expressions, async workflows, sequence expressions...

Type-safe HTML templating

Use HTML templates to keep your logic and UI clearly separate and facilitate the collaboration between programmers and designers.

Type-safe HTML Templating
Seamless remoting

Remoting with ease

Seamlessly call server-side asynchronous functions from the client side.

AJAX call, JSON serialization... Everything is handled automatically.

Powerful UI abstractions

Declare full interactive forms in just a few lines of code with Formlets and Piglets.

C# LINQ queries and F# query expressions

Upcoming features

Web Workers

Delegate heavy client-side computations to a separate thread transparently.

Follow this issue

WebPack support

Integrate your C# or F# client-side code into an existing JavaScript codebase.

Follow this issue

TypeScript output

Compile your C# or F# to TypeScript to easily interact with your TypeScript codebase.

Follow this issue

Featured community projects

Tweet Mashup!

Tweet Mashup by @skyetetra,
serving over a million visitors.


FsRover by @rflechner,
controlling robots and IoT devices.

You have a cool project?
Tell us about it!