MkDocs is a Python-based static site generator that combines Markdown content with Jinja2 templates to produce websites. MkDocs can be pronounced "McDocs" or "M-K Docs", although the core committers do not have a strong preference one way or the other on the name's pronunciation.

MkDocs' source code is available on GitHub under the BSD 2-clause license.

MkDocs static site and documentation generator logo.

What's great about MkDocs?

MkDocs uses a YAML configuration file and can optionally use themes to easy change the look-and-feel of the documentation output.

In addition to the easy configuration via a YAML file and the drop-in themes, MkDocs also has a wonderful search feature. Search is often not possible out of the box in other static site generators. With MkDocs search can easily be added without plugins or code changes to the static site generator.

MkDocs is an implementation of the static site generators concept. Learn how the parts fit together in the web development chapter or view all topics.

MkDocs resources

  • The official Getting Started with MkDocs is likely the best place to go when you are just getting set up with your first site that uses this project.

  • Mkdocs documentation is a quick tutorial to get MkDocs installed and modify the initial mkdocs.yml file.

  • MkDocs making strides is a post from one of the project's core commiters on some changes that greatly improved the project such as site regeneration during development when a file is modified, search, the command-line client and packageable theming.

What do you need to learn about static site generators?

What is a static website generator?

I want to learn how to code a Python web application using a framework.

I've built a Python web app, now how do I deploy it?

Matt Makai 2012-2022