h5

Available on NuGet Read more

H5: The C# to JavaScript Compiler

Build the modern web with the language you love. H5 brings the full power, type safety, and productivity of C# directly to the browser.

Why H5?

🚀 C# Power, JavaScript Reach

Write your application logic, UI components, and complex algorithms in C#. H5 compiles your code into clean, high-performance JavaScript that runs in any browser, on any device—from mobile to desktop.

🛡️ Real Type Safety

Eliminate "undefined is not a function" forever. Leverage C#’s strong typing, generics, and compile-time checks to catch errors before they ever reach your users.

📦 Seamless Ecosystem Integration

Don't choose between .NET and JavaScript. Use h5.Core to access the full DOM and ES5/6+ APIs, or integrate your favorite npm libraries like React, Vue, or jQuery with ease.

⚡ Built for Performance

H5 features a hosted compiler process that speeds up your development cycle. It produces human-readable, optimized JavaScript and full sourcemaps, making debugging in the browser as easy as debugging in Visual Studio.


Write C#. Run Everywhere.

H5 transforms your C# classes into optimized JavaScript structures while maintaining the logic and behavior you expect from the .NET runtime.

The C# Source

public class TodoItem
{
    public int Id { get; set; }
    public string Task { get; set; }
    public bool IsDone { get; set; }

    public void Toggle()
    {
        this.IsDone = !this.IsDone;
        Console.WriteLine($"Task {Id} is now {(IsDone ? "done" : "pending")}");
    }
}

The H5 Output

H5.define("App.TodoItem", {
    props: {
        Id: 0,
        Task: null,
        IsDone: false
    },
    methods: {
        Toggle: function () {
            this.IsDone = !this.IsDone;
            System.Console.WriteLine("Task " + this.Id + " is now " + (this.IsDone ? "done" : "pending"));
        }
    }
});


Modern Tooling for Modern Devs

H5 is built for the current .NET ecosystem, fitting perfectly into your existing workflow.

  • Standardized: Projects target .NET Standard 2.1, enabling compatibility with shared back-end projects.
  • CLI First: The compiler is distributed as a dotnet global tool, making CI/CD and automation effortless.
  • SDK-Style: No more legacy .csproj bloat. H5 uses modern, clean SDK-style project files.
  • IDE Support: Full Intellisense and statement completion in Visual Studio and VS Code.

Powerful Extensions

Expand your capabilities with purpose-built H5 packages:

  • h5: Core library providing a .NET-equivalent runtime for the browser.
  • h5.Core: Core library providing strongly typed bindings for the HTML5 API.
  • h5.Newtonsoft.Json: JSON serialization support in the browser with a Newtonsoft.Json style API.
  • h5.WebGL2: Build high-performance 3D games and visualizations using C#.

Get Started in Seconds

H5 is available via NuGet and the dotnet CLI.

1. Install the H5 Compiler:

dotnet tool install -g h5-compiler

2. Create a new H5 project using a .NET template:

dotnet new install h5.Template
dotnet new h5 -n MyWebProject

3. Build and Run:

dotnet tool install --global dotnet-serve
dotnet build
dotnet serve .\bin\Debug\netstandard2.1\h5\

Ready to build?

Download H5 on NuGet

Get the latest version of H5.

View Documentation

Access the full H5 documentation.

Explore Samples

Check out sample projects and code.

H5: The next generation of C# web development.

© 2026 h5. All rights reserved.