C#/XAML for HTML5 logo

Who said you can't go cross-platform with C#/XAML?

Create HTML5 apps using only C# and XAML with the new free "C#/XAML for HTML5" extension for Visual Studio

Want to migrate a Silverlight application to the web? Read our guide!

Already trusted by over 9,000 registered users, and counting!

Learn More / View Features

Download the free beta now!

(limited to the first 10,000 people, get it quickly!)


• (Oct/Nov. 2016) Intermediate preview builds released on the forums (Beta 10.1, 10.2...)

• (Sept. 2016) Beta 10 released with ChildWindow, ToolTip, ContextMenu, Popup, and much more! [Read Press Release & What's New]

Beta 9 released with New Simulator, Faster Compilation, XAML Live Inspector, JSON, DoubleAnimation, ColorAnimation, LinearColorBrush, and much more! [Read Press Release & What's New]

Beta 8 released with Extensibility, WebSockets, ControlTemplates, ResX, Call JS from C#, and much more! [Read Press Release & What's New]

twitter facebook  forums

At last you can reach all platforms with the skills, tools, and code base you already have

Zero Learning Time.

If you know C#/XAML, you already know everything you need to make apps for HTML5, Android, iOS, Mac, Chromebooks, Linux, Windows, web browsers, and more.

The power of C# and XAML.

Developing robust large-scale HTML5 projects has never been easier with C#/XAML features such as type safety (you can fix errors before the code runs), data binding, user controls, classes, interfaces, inheritance, generics, namespaces, event handlers, data templates, and much more.

The power of Visual Studio.

Step-by-step debugging, code refactoring, intellisense, unit tests, source control, and all the other cool features of Visual Studio work like a charm.

Reuse your code base.

Migrating Silverlight, WPF, Windows Phone, Windows Store, .NET, and other C# projects to HTML5 has never been easier. While only a subset of XAML is currently supported (see current progress below), most of your C# code will work as is.

TIP: Use the "Add as link" feature of VS to share code between projects of different types. Use the "#if" directive to specialize portions of your code based on the project type.

See how easy it is to get started

Check out the sample Controls Showcase:

View in web browser (HTML5)

Tested on: Chrome, IE 10+, Edge, Firefox, Android 4+, Opera, Safari Mobile (iOS 8+), Safari 8+

Also available as stand-alone apps for: iOS, Android

Check out the sample Calculator app:

(taken from the MSDN, originally written in C#/XAML, compiled to HTML5 with almost no modifications)

View in web browser (HTML5)

Tested on: Chrome, IE 10+, Edge, Firefox, Android 4+, Opera, Safari Mobile (iOS 7+), Safari 8+

99 % of C# features are already supported (75% of XAML, 45% of .NET Core). Adding more every day.

Supported Not Yet Supported

C# Language Features

(99% supported!)

- Classes, interfaces, enums, inheritance, generics, event handlers, try/catch, "ref" and "out" keywords, properties, accessors, modifiers, lambda expressions, anonymous methods, extension methods, virtual methods, "var", "dynamic", nullables, automatic properties, partial types, nested types, pragma directives, collection initializers, yield return, sealed...

- New in beta4: Async/await, Linq (Any, AsEnumerable, Cast, Contains, Count, ElementAt, ElementAtOrDefault, Empty, First, FirstOrDefault, OfType, OrderBy, OrderByDescending, Range, Select, SelectMany, Sum, ToArray, ToList, and Where)

- Class libraries, visual studio project references, namespaces...

- New in beta6: C# 6.0

- New in beta8: ResX Resource Files

- the "dynamic" keyword is not supported under VS 2015

.NET Types and Framework Classes

(45% supported)

- Object, string, char, int, single, double, bool, DateTime, TimeSpan, List<>, Dictionary<>, Stack<>, Array, Size, Rect, Point, Exception, StringBuilder, Int64, CultureInfo, Encoding, StreamReader, TextReader, MemoryStream, BinaryWriter, BinaryReader, Buffer...

- System.Reflection

- New in beta2: DispatcherTimer

- New in beta3: Http calls (WCF, SOAP, REST, Add Service Reference, Web API support) (read WCF Limitations and Tutorials), WebClient, XmlSerializer (read XmlSerializer limitations and tutorials), Guid, Dispatcher.BeginInvoke

- New in beta5: Regular Expressions, IsolatedStorage, FileInfo

- New in beta6: ICommand

- New in beta8: Custom Attributes, Tuple2, HashSet2, Extensions (WebSockets, Print, File Open/Save, ZIP Compression...)

- Tuple (use "Tuple2" instead)

- HashSet (use "HashSet2" instead)

- Queue, Queue<T>

- Non-generic Stack

- More .NET types...

XAML Concepts

(75% supported)

- General XAML syntax, XAML layout, Dependency properties

- User Controls

- Code behind

- Events registration (Click, PointerPressed, PointerReleased, PointerMoved, GotFocus, TextChanged, KeyDown...)

- XAML namespaces

- Alignments and margins

- New in beta2: Binding, DataContext, DataTemplate, StaticResource, Styles

- New in beta4: IsEnabled

- New in beta5: IsHitTestVisible, TransformToVisual, Opacity

- New in beta6: CapturePointer, Cursor, Pointer coordinates, Styles BasedOn, DropShadowEffect

- New in beta7: ResourceDictionary, MergedDictionaries, Transforms (CompositeTransform, RotateTransform, ScaleTransform...), OverrideMetadata

- New in beta8: ControlTemplates, Storyboards, Animations, VisualStateManager, OnApplyTemplate, TemplateBinding

- New in beta10: SizeChanged event, ClipToBounds, FindElementsInHostCoordinates, VisualTreeHelper

- Implicit styles (coming soon!)

- Implicit data templates (coming soon!)

- Coming soon: support for Generix.xaml, ZIndex, TabIndex, IsTabStop, MaxLength, RadiuxX, RadiusY, MatrixTransform

- XAMLReader.Load

XAML Types and Controls

(75% supported)

- Button, TextBox, TextBlock, Canvas, StackPanel, Border, Image, Grid, ScrollViewer, Rectangle, WrapPanel, UserControl, Control, Window, Page, Panel

- SolidColorBrush, Named colors, HorizontalAlignment, VerticalAlignment, Orientation, Thickness, CornerRadius...

- New in beta2: ItemsControl, ContentControl

- New in beta3: PasswordBox

- New in beta4: DataGrid, ComboBox, CheckBox, HyperlinkButton

- New in beta5: ListBox

- New in beta6: MediaElement, RadioButton

- New in beta7: Path, Ellipse, Line

- New in beta8: ToggleButton, TabControl, Expander

- New in beta9: LinearGradientBrush

- New in beta10: ChildWindow, ToolTip, Popup, ContextMenu, MenuItem, ScrollBar control, Thumb

- Coming soon: Frame, Slider, ProgressBar, TreeView, DatePicker, Label, RepeatButton, RTF

- GridSplitter, ViewBox

List of compatible browsers: Google Chrome 35+, Microsoft Internet Explorer 11+, Microsoft Edge, Android Browser (Android 4+), Safari Mobile (iOS 8+), Safari 8+ (Mac OS Yosemite+), Mozilla Firefox 27+, Opera 24+

Check out these great open-source extensions:
    - JSON Serialization / Deserialization
    - WebSockets
    - PrintHelper
    - FileSaver
    - ZipFile
    - FileOpenDialog
    - Unofficial ArcGIS Mapping control (in progress)
    - Compose Email

Vote for your most wanted features (UserVoice)

View the full list of supported types and methods

View the list of Limitations and Workarounds

Want to migrate a Silverlight application? Read our Silverlight Migration Guide

Other technical topics of interest:

A clear and transparent roadmap

(Subject to change based on users' feedback and other factors)

  • Q2 2014: (Preview) The Preview release focuses on gathering users' feedback. It introduces Visual Studio integration and fine-tunes compatibility with all the main browsers and mobile devices.
  • Q3 2014: (Beta 1) The first beta provides all the main tools to build cross-platform stand-alone HTML5 apps in standard C# and XAML. A subset of C# and XAML is supported that is large enough to build simple useful apps.
  • Q4 2014: (Beta 2) Data Binding, Styles, StaticResource, DataContext, DataTemplate, ItemsControl, ContentControl, design-time XAML preview window, DispatcherTimer, and more.
  • Q1 2015: (Beta 3) WCF, SOAP, REST, "Add Service Reference", Web API support, WebClient, XmlSerializer, Guid, PasswordBox, BeginInvoke, FontFamily, FontWeight, Thickness, BorderBrush, and more.
  • Q2 2015: (Beta 4) Full support of C# 5.0: Linq, Async/Await, DataGrid, ComboBox, CheckBox, HyperlinkButton, IsEnabled, and much more.
  • Q3 2015: (Beta 5) IsolatedStorage, Documentation, sample app available on the Apple AppStore and on GooglePlay, web server to easily Test on Mobile Devices, Regular Expressions support, ListBox, DataGrid item selection, and much more.
  • Q4 2015: (Beta 6) VS 2015 support, ICommand, MediaElement, RadioButton, Pointer/Cursor, drag-and-drop, DropShadowEffect, and much more.
  • Q1 2016: (Beta 7) ResourceDictionary, Path, Ellipse, Line, CompositeTransform, and much more.
  • Q2 2016: (Beta 8) Extensibility, WebSockets, ControlTemplates/Storyboards, ResX, Call JS from C#, Print, File Open/Save, ZIP, Mapping, TabControl, Expander, Custom attributes, "Run from localhost", and much more.
  • MID-2016: (Beta 9) Brand New Simulator, XAML Live Inspector, Up to 20x Faster Compilation, JSON Serializer/Deserializer, DoubleAnimation, ColorAnimation, LinearGradientBrush, StopWatch, StrokeDashArray, Chrome for Android support, resizable Simulator window, remember Simulator settings, and much more.
  • Q3-2016: (Beta 10) Bug Fixing, ChildWindow, ContextMenu, MenuItem, Popup, Thumb control, ToolTip, Improved DateTime support, Right-click event, Min/max width/height, support for non-native ComboBox, FindElementsInHostCoordinates, ScrollBar control, ClipToBounds, and much more.
  • Q4-2016: Improved Performance, Silverlight Migration Kit, Charts (pro), Support for some 3rd party component providers (pro), Experimental support for importing TypeScript Definition Files in order to easily use 3rd party JS libraries in C# (pro).
  • LATE 2016 - EARLY 2017: Bug Fixing, Frame, DatePicker, Implicit Styles, Slider, ProgressBar, Generic.xaml, localizable resx (resources), {x:Type } syntax (currently supported without curly braces), Templatable listbox (ItemContainerStyle, etc.), Templatable ComboBox/ComboBoxItem, Label, ZIndex, TabIndex, IsTabStop, MaxLength, Queue<T>, HttpWebRequest (pro), Improved WCF (pro), Authentication (Pro), Initial support for 3rd party component providers (pro), TransformGroup, {x:Static} syntax, StateTriggers, Implicit DataTemplates, RadiuxX/RadiusY, AncestorType={x:Type ...}, MatrixTransform, RepeatButton, Slider, TreeView, Menu, RTF, ScrollBar, StrokeDashCap, StrokeDashOffset, RadialGradientBrush, SizeChanged for controls, easier C#-based access to device features via PhoneGap/Cordova (currently possible only via calls to the "Interop.ExecuteJavaScript" method), more...
  • Early-Mid 2017: The product is now very solid and can be used in production to build robust large-scale cross-platform HTML5 apps, as well as hybrid iOS and Android apps. Most of the features required to easily port Silverlight apps and other C#/XAML-based apps to HTML5 are available. New features will be developed based on users' feedback.
  • 2017-2018: Great Performance and code optimization, VB.NET support, PCL support, Full support for all the classes and methods of the .NET Core framework (mscorlib), support for most of the Silverlight 5 features, large gallery of 3rd-party controls and free community extensions. New features will be developed based on users' feedback. Features under consideration include and are not limited to: a visual XAML Designer, the WPF syntax for Storyboards (triggers, etc), Data Triggers, Interaction.Behaviors and Interaction.Triggers, more advanced DataGrid (validation, filters, etc.), DataContractSerializer (in addition to XmlSerializer which is already supported), WritableBitmap, XDocument, client-side EntityFramework support... Please contact us if you would like to fund the development of specific features to have them implemented earlier (we will quickly send you a quote and a schedule).
  • As far as 3rd party components are concerned (such as Telerik, DevExpress, ComponentOne, Infragistics, SyncFusion, etc.):
    • While waiting for those companies to port their controls to CSHTML5, we have already started to create open-source projects that mimic the method signatures and behavior of the original controls, so that you can use them without changing your legacy code. Please stay updated for links to those open-source projects.
    • The internal implementation is either in pure C#/XAML, or it uses a JavaScript-based library that provides a similar result. That JavaScript library is wrapped into a C#/XAML-based container for easy consumption in your CSHTML5 project.
    • You can see an example by looking at the ArcGIS Mapping control for CSHTML5.

Free. No royalties.
Upgrade to Pro for even more features.

Free Edition

- Make rich web apps in pure standard C#/XAML that run in modern browsers without any plugins.

- Make hybrid mobile apps in C#/XAML that run on iOS, Android, and more.

- Standard support


• No royalties.

• Anyone can use it.

• Commercial use is permitted.

Professional Edition

All the features of the Free Edition, plus advanced features including:

+ Priority support

+ Perpetual license

+ Guarantee of perpetuity: should we ever stop maintaining the software for any reason, you get the full source code with all the material to build it with Visual Studio.


TRIAL: You can evaluate the features of the Professional Edition by using them in the Free Edition. When you do so, you will be asked to begin the 60-day trial of the Professional Edition.

• Perpetual license.

• 30-day money back guarantee.

• Includes 1 year of free updates.


For other payment methods, please contact us.

Professional Edition with Runtime Source Code

Same as the Professional Edition, but also includes the source code of the XAML-related runtime assemblies that get converted to JS. The source code can be used for maintenance and for adding features to the built-in classes and controls (NDA, internal use).

From $1,799

Request a Quote

For any questions, please contact us at: support@cshtml5.com

For a long time I have been looking for a Xaml to HTML5 solution. I couldn't understand why nobody was doing it. Finally somebody has. :-) Andrew Tierney, CastleSoft
This IS the future. [...] This is the absolute best tool to hit Visual Studio and IS and WILL change the future of .NET and XAML. I am a huge fan, love the work, keep it up. Michael Puckett, II

Download the free beta now!

(limited to the first 10,000 people, get it quickly!)

twitter facebook blog forums