FREEDOM251

Freedom251 › Formal Verification Tools

F*

Free plan LinuxMacSelf-hostedWindows

Visit F* Alternatives Pricing

F*'s own site

What F* is

F* is a free, open-source programming language for functional and effectful code, designed around proving program properties. Its type system combines dependent types with automated proof support based on SMT solving, as well as interactive theorem proving with tactics. F* programs compile to OCaml by default. With KaRaMeL or Vale, selected fragments can also be extracted to F#, C, WebAssembly, or assembly. The language is implemented in F* and bootstrapped with OCaml, and it is distributed under the Apache 2.0 license.

F* runs on Windows, Linux, and macOS, and can be installed from binaries, through OPAM, Docker, or Nix, or by building from source. The project provides an online book, browser examples and exercises, and a Low* tutorial for a low-level subset that can compile to C through KaRaMeL. For community help, it points users to GitHub Discussions and a public Zulip forum, and also lists a mailing list and maintainer contact email.

F* is used in security-focused development: Project Everest develops secure communication software with it, and HACL* provides cryptographic primitives written in F* and extracted to C. The project reports that code from HACL*, ValeCrypt, and EverCrypt appears in production projects including Firefox, the Linux kernel, Python, mbedTLS, and WireGuard.

Who it suits

F* suits programmers who need a proof-oriented language for functional or effectful programming and can work with theorem proving and SMT-based automation. Its installation options and learning materials support both local development and self-hosted use; its security projects also make it relevant to people working on high-assurance software.

What it does well

  • Free and open source under Apache 2.0.
  • Combines dependent types with SMT and tactic-based proof.
  • Compiles to OCaml by default.
  • Supports extraction to F#, C, WebAssembly, or assembly.
  • Offers binaries and several installation routes.
  • Includes an online book, examples, exercises, and a tutorial.

What to know first

  • The language is focused on proof-oriented programming.
  • Some output targets require KaRaMeL or Vale.
  • Installation from source is an available route.

Limits

The free F* plan provides the language and listed installation options. Programs compile to OCaml by default; extraction to F#, C, WebAssembly, or assembly uses KaRaMeL or Vale.

Plans

PlanBilled and limitsPrice
F*Apache 2.0 licensed · binaries for Windows, Linux, and Mac OS X · install via OPAM, Docker, or Nix, or build from sourceFree

As fstar-lang.org lists them, read 11 Oct 2026. The maker's own page has the final word.

Getting started

  1. Choose Windows, Linux, or macOS as your platform.
  2. Install a binary, use OPAM, Docker, or Nix, or build from source.
  3. Start with the online book or browser examples and exercises.
  4. Use the Low* tutorial if you want to explore its low-level subset and C compilation through KaRaMeL.
  5. Ask questions through GitHub Discussions or the public Zulip forum.

Verdict

Pick F* if your work calls for a proof-oriented language with both automated and interactive theorem proving, or for code that can be extracted to several targets. Consider whether its proof-focused approach fits your project and whether you want to install binaries, use a package-based route, or build from source.

Questions

Is F* free?

Yes. It is open source under the Apache 2.0 license.

Which platforms does F* support?

The listed platforms are Linux, macOS, self-hosted, and Windows. Binaries are offered for Windows, Linux, and Mac OS X.

How can I install F*?

You can use its binaries, install through OPAM, Docker, or Nix, or build from source.

What languages can F* compile or extract to?

F* programs compile to OCaml by default. Fragments can also be extracted to F#, C, WebAssembly, or assembly using KaRaMeL or Vale.

What learning materials are available?

The project links to an online book, browser examples and exercises, and a tutorial for Low*, a low-level subset that can compile to C through KaRaMeL.

Where can users ask for help?

The project points to GitHub Discussions and a public Zulip forum. It also lists a low-traffic mailing list and a maintainer contact email.

Facts from F*'s own pages

Community support
The project directs questions to GitHub Discussions and a public Zulip forum, and lists a low-traffic mailing list and maintainer contact email. · fstar-lang.org, 11 Oct 2026
Compilation
F* programs compile by default to OCaml, and fragments can also be extracted to F#, C, WebAssembly, or assembly using KaRaMeL or Vale. · fstar-lang.org, 11 Oct 2026
Core team
The listed core development team includes contributors affiliated with Microsoft Research in Redmond and Bangalore. · fstar-lang.org, 11 Oct 2026
Development
F* is open source on GitHub and is under active development by Microsoft Research, Inria, and the community. · fstar-lang.org, 11 Oct 2026
Implementation
F* is implemented in F* and bootstrapped using OCaml. · fstar-lang.org, 11 Oct 2026
Installation
The project offers binaries for Windows, Linux, and Mac OS X, and installation through OPAM, Docker, Nix, or source builds. · fstar-lang.org, 11 Oct 2026
Learning
The site links to an online book, browser examples and exercises, and a tutorial for Low*, a low-level subset that can compile to C through KaRaMeL. · fstar-lang.org, 11 Oct 2026
License
F* is distributed under the Apache 2.0 license. · fstar-lang.org, 11 Oct 2026
Parser tooling
EverParse generates C code from formally proven F* and is used in production, including in Windows Hyper-V. · fstar-lang.org, 11 Oct 2026
Production use
The site says code from HACL*, ValeCrypt, and EverCrypt is used in production projects including Firefox, the Linux kernel, Python, mbedTLS, and WireGuard. · fstar-lang.org, 11 Oct 2026
Proof system
It combines dependent types with proof automation based on SMT solving and tactic-based interactive theorem proving. · fstar-lang.org, 11 Oct 2026
Purpose
F* is a general-purpose proof-oriented programming language for purely functional and effectful programming. · fstar-lang.org, 11 Oct 2026
Security use
Project Everest develops high-assurance secure communication software in F*, and HACL* provides high-assurance cryptographic primitives written in F* and extracted to C. · fstar-lang.org, 11 Oct 2026

Where F* stands on Freedom251

Look at these too