docfx is a free, open source blogging & personal sites project written in C# and released under MIT. It has 4,448 GitHub stars, 889 forks and 452 open issues, and was last pushed 12 hours ago. On this registry it ranks #13 of 25 tracked projects in Blogging & Personal Sites, with 5 head-to-head comparisons available.

What is docfx?

What it is

docfx is a static site generator for .NET API documentation, and it lives in the .NET ecosystem. The project is written in C#, licensed under MIT, and published at dotnet.github.io/docfx. It is now a .NET Foundation project maintained by the community after Microsoft Learn stopped using it and ended support in November 2022. It builds technical documentation sites from landing pages, Markdown, .NET API reference docs, and REST API content.

The concrete problem it solves is the need to turn technical content, Markdown pages, and API documentation inputs into one browsable documentation site. Instead of manually assembling HTML pages, a team can define a docfx.json project file, run docfx build, and serve the generated site locally for review. The generated output is static, which is what a static site generator produces.

Key capabilities

  • It generates static documentation sites from Markdown content and landing pages.
  • It produces .NET API reference documentation from code, as indicated by its api, csharp, and dotnet topics.
  • It supports REST API documentation, as listed in the README description.
  • It uses a docfx.json project file to control the build of a documentation site.
  • It includes templates that can be built with npm in the templates directory.
  • It publishes nightly builds to GitHub Packages for users who need current development changes.
  • It provides a local preview workflow through the --serve option and a localhost URL.

Who uses it and how

  • .NET library maintainers use docfx to publish API reference documentation for .NET packages and projects.
  • Documentation teams use it to combine Markdown landing pages with generated API references in one static site.
  • Contributors use it locally by installing the global tool, initializing a sample project, building it, and serving it for review.
  • People who modify docfx itself use Visual Studio, .NET SDK 8.x or 9.x, NodeJS 24.x, npm template builds, and dotnet test.
  • Community users follow milestones, open discussions, file issues, and contribute through pull requests or help-wanted issues.

Getting started

Install docfx as a global .NET tool with dotnet tool install -g docfx, create a sample site with docfx init -y, then build and serve it with docfx build docfx_project\docfx.json --serve. Nightly builds are available from GitHub Packages, and stable releases are published through GitHub Releases.

When to use it — and when not to

Use docfx when you need a .NET-centered static documentation site and can accept community-driven maintenance after Microsoft Learn stopped using it and ended support in November 2022. Avoid it when you need a supported documentation publishing pipeline, a guaranteed release cadence, or a hosted service, because releases arrive only when maintainers see enough changes. The project description does not mention database, storage, SMTP, or hosting services, so self-hosters must operate the generator, templates, and the web host they choose.

project readme (upstream, from github) — read inline

Build your docs with docfx

NuGet ci nightly Help Wanted Ask DeepWiki

Build your technical documentation site with docfx, with landing pages, markdown, API reference docs for .NET, REST API and more.


As you may have heard docfx has been transitioned to be a .NET Foundation project. Microsoft Learn no longer uses docfx and do not intend to support the project since Nov 2022.

Docfx is planned to continue as a community-driven project. We hope to produce future releases with new features and enhancements to support existing and new use cases. We also would like to invite any interested parties to be involved in this project. If you'd like to contact the community team please open a discussion thread.

Getting Started

  1. Install docfx as a global tool:

    dotnet tool install -g docfx
    
  2. Create and start a website locally:

    docfx init -y
    docfx build docfx_project\docfx.json --serve
    
  3. Go to https://localhost:8080 to see the sample site.

For more information, refer to Getting Started.

[!TIP] Docfx publishes nightly builds to GitHub Packages, this allows you to stay up-to-date with the latest developments in Docfx.

Contributing

Use Discussions for questions and general discussions. Use Issues to report bugs and proposing features.

We welcome code contributions through pull requests, issues tagged as help-wanted are good candidate to start contributing code.

Prerequisites

Build and Test

  • Build site templates in templates directory:
    • Run npm install to restore npm dependencies.
    • Run npm run build to build the templates.
  • Run dotnet build to build the project or use Visual Studio to build docfx.sln.
  • Run dotnet test to test the project or use Visual Studio test explorer.
    • Run git lfs checkout to checkout files for snapshot testing

Branch and Release

The main branch is the default branch for pull requests and most other development activities. We occasionally use feature/* branches for epic feature development.

Releases are based on a stable main branch commit using GitHub Releases. Use of Conventional Commit is encouraged.

Docfx is not released under a regular cadence, new versions arrive when maintainers see enough changes that warrant a new releases. Sometimes we use prereleases to dogfood breaking changes and get feedbacks from the community.

Roadmap

We use Milestones to communicate upcoming changes docfx:

  • Working Set are features being actively worked on. Not every features in this bucket will be committed in the next release but they reflect top of minds of maintainers in the upcoming period.

  • Backlog is a set of feature candidates for some future releases, but are not being actively worked on.

License

This project is licensed under the MIT License.

.NET Foundation

This project is supported by the .NET Foundation.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Frequently asked questions

Is docfx free to use?

docfx is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does docfx do?

Static site generator for .NET API documentation.

What is docfx written in?

docfx is primarily written in C#. Its source is publicly available at https://github.com/dotnet/docfx, and it has 4,448 GitHub stars.