Skip to content
Switch branches/tags

Feliz Nuget Build status

A fresh retake of the React API in Fable, optimized for happiness.

Here is how it looks like:

module App

open Feliz

let Counter() =
    let (count, setCount) = React.useState(0)
    Html.div [
        Html.button [
   [ style.marginRight 5 ]
            prop.onClick (fun _ -> setCount(count + 1))
            prop.text "Increment"

        Html.button [
   [ style.marginLeft 5 ]
            prop.onClick (fun _ -> setCount(count - 1))
            prop.text "Decrement"

        Html.h1 count

open Browser.Dom

ReactDOM.render(Counter(), document.getElementById "root")


  • Consistent, lightweight formatting: no more awkward indentation using two lists for every element.
  • Discoverable attributes with no more functions, Html attributes or css properties globally available so they are easy to find.
  • Proper documentation: each attribute and CSS property
  • Full React API support: Feliz aims to support the React API for building components using hooks, context and more.
  • Fully Type-safe: no more Margin of obj but instead utilizing a plethora of overloaded functions to account for the overloaded nature of CSS attributes, covering 90%+ of the CSS styles, values and properties.
  • Included color list of most commonly used Html colors in the colors module.
  • Compatible with the current React DSL used in applications.
  • Compatible with Femto.
  • Approximately Zero bundle size increase where everything function body is erased from the generated javascript unless you actually use said function.


Feliz has extensive documentation at with live examples along side code samples, check them out and if you have any question, let us know!


A fresh retake of the React API in Fable and a collection of high-quality components to build React applications in F#, optimized for happiness





No releases published


No packages published