FREEDOM251

Freedom251 › Code Transpilers

Fable

Paid Web

Visit Fable Alternatives

Fable's own site

What Fable is

Fable is a compiler for building applications with F#, translating source code into several target languages. JavaScript and TypeScript are its stable targets; Dart and Python are beta, Rust is alpha, and PHP and Beam (Erlang) are experimental. For JavaScript projects, it produces readable output compatible with ES2015 standards and tools such as Webpack. F# code can import JavaScript modules and use NPM packages, while NuGet supplies F# libraries. The command-line workflow includes release, watch, and clean commands, with options for an output directory and source maps. Fable integrates with Vite, Parcel, and Webpack, and the site names Visual Studio Code and JetBrains Rider as editor choices. Documentation lists libraries including Fable.Core, Fable.Browser.Dom, Fable.Elmish.React, and Thoth.Json, but not every NuGet package works with Fable. Python targets require Python 3.12 or higher; the Beam setup requires Erlang/OTP 25 or higher and rebar3. Fable is free, open-source software under the MIT License, with an online REPL.

Who it suits

Fable suits .NET and JavaScript developers who want to build applications, including browser UIs, using F#. It may also suit teams targeting languages beyond JavaScript and TypeScript, provided they account for each target’s maturity and compatibility requirements.

What it does well

  • Stable JavaScript and TypeScript targets.
  • Imports JavaScript modules and uses NPM packages.
  • CLI includes release, watch, and clean commands.
  • Integrates with Vite, Parcel, and Webpack.
  • Online Fable REPL is available.

What to know first

  • Dart and Python targets are beta.
  • Rust is alpha; PHP and Beam are experimental.
  • Not all NuGet libraries work with Fable.
  • Python targets require Python 3.12 or higher.

Limits

Target maturity varies: JavaScript and TypeScript are stable, Dart and Python are beta, Rust is alpha, and PHP and Beam are experimental. Not all NuGet libraries work with Fable; Python requires version 3.12 or higher, and Beam requires Erlang/OTP 25 or higher plus rebar3.

Getting started

  1. Install Fable as a .NET tool
  2. Add Fable.Core to an F# project
  3. Choose Visual Studio Code or JetBrains Rider
  4. Select a target language and configure the project
  5. Run the CLI with release, watch, or clean commands
  6. Use the online Fable REPL for browser-based exploration

Verdict

Fable offers an F#-based route to JavaScript and TypeScript, with other output targets at varying maturity levels. Check library compatibility and target-specific requirements before planning a project.

Questions

Is Fable free?

Yes. Fable is open source and the repository identifies the MIT license.

Which output languages are supported?

JavaScript and TypeScript are stable; Dart and Python are beta; Rust is alpha; PHP and Beam (Erlang) are experimental.

How is Fable installed?

The getting-started guide installs it as a .NET tool and adds Fable.Core to an F# project.

Which editors can I use?

The homepage names Visual Studio Code and JetBrains Rider, and it links to an online Fable REPL.

Can Fable use JavaScript packages?

Yes. F# code can import JavaScript modules and use NPM packages; JavaScript dependencies are listed in package.json.

What Python version is required?

Fable’s Python target requires Python 3.12 or newer. Python 3.10 and 3.11 are deprecated.

Facts from Fable's own pages

Audience
The documentation describes Fable as a way to build applications with F#, including browser UIs, and provides guidance for .NET and JavaScript developers. · fable.io, 9 Oct 2026
Beam requirement
The Beam setup guide requires Erlang/OTP 25 or higher and rebar3. · fable.io, 4 Oct 2026
Build integrations
For JavaScript projects, Fable integrates with bundlers including Vite, Parcel, and Webpack. · fable.io, 9 Oct 2026
Build workflow
The CLI supports release, watch, and clean commands, plus options such as output directory and source maps. · fable.io, 4 Oct 2026
Compatibility limit
Not all NuGet packages work with Fable; the documentation advises checking whether each library is Fable-compatible. · fable.io, 9 Oct 2026
Dependencies
Fable uses NuGet to load F# libraries, while JavaScript dependencies are listed in package.json. · fable.io, 9 Oct 2026
Editor support
The official site names Visual Studio Code and JetBrains Rider among the editors usable with Fable. · fable.io, 9 Oct 2026
JavaScript interop
Fable supports importing JavaScript modules and using NPM packages from F# code. · fable.io, 4 Oct 2026
JavaScript output
Fable transpiles F# to ES2015 JavaScript. · fable.io, 9 Oct 2026
Language features
The site highlights F# features including immutability by default, pattern matching, units of measure, and type providers. · fable.io, 9 Oct 2026
Libraries
The documentation lists Fable.Core, Fable.Browser.Dom, Fable.Elmish.React, and Thoth.Json as libraries available for Fable projects, and cautions that not all NuGet libraries work with Fable. · fable.io, 4 Oct 2026
License
The Fable repository identifies its license as MIT. · github.com, 9 Oct 2026
Online access
The homepage links to an online Fable REPL. · fable.io, 4 Oct 2026
Other targets
Dart and Python are listed as beta, Rust as alpha, and PHP and Beam (Erlang) as experimental. · fable.io, 4 Oct 2026
Output targets
Fable lists JavaScript and TypeScript as stable targets, Dart and Python as beta, Rust as alpha, and PHP and Beam (Erlang) as experimental. · fable.io, 9 Oct 2026
Project setup
The getting started guide installs Fable as a .NET tool and adds Fable.Core to an F# project. · fable.io, 4 Oct 2026
Python requirement
Fable Python targets Python 3.12 or higher; Python 3.10 and 3.11 are deprecated. · fable.io, 4 Oct 2026
Stable targets
JavaScript and TypeScript are listed as stable targets. · fable.io, 4 Oct 2026
Support
The project repository accepts bug reports and feature requests, and notes that maintainers do not check its Gitter chat regularly. · github.com, 9 Oct 2026
Testing
The documentation says unit testing is available through Fable.Mocha and that another test runner can be used. · fable.io, 9 Oct 2026
What it does
Fable is a compiler that lets developers use F# to build applications. · fable.io, 9 Oct 2026

Where Fable stands on Freedom251

Look at these too