Flask-Blogging is a free, open source blogging & personal sites project written in Python and released under MIT. It has 700 GitHub stars, 162 forks and 22 open issues, and was last pushed 7 months ago. On this registry it ranks #23 of 25 tracked projects in Blogging & Personal Sites, with 5 head-to-head comparisons available.

What is Flask-Blogging?

Flask-Blogging is a Markdown-based blog engine shipped as a Flask extension, letting Python developers add a complete blog — Markdown editor, image uploads, LaTeX math, multi-user auth — straight into an existing Flask site.

What it is

Flask-Blogging is a Flask extension that adds blog support to an existing Flask application, with Markdown as the authoring format. It lives in the Python and Flask ecosystem, maintained by gouthambs on GitHub under the MIT licence, with roughly 700 stars, 162 forks, and 22 open issues, and active development as of March 2026. It is packaged as a standard Python distribution named flask-blogging and documented at flask-blogging.readthedocs.org. Because it is an extension rather than a standalone application, it plugs into a host Flask app instead of running beside it.

The concrete problem is the plumbing cost of bolting a blog onto a site that already exists. Blog routes, a Markdown editing surface, image upload handling, LaTeX rendering, and per-user authorisation are normally assembled by hand or solved by running separate blog software next to the Flask app. Flask-Blogging replaces that hand-rolled blog layer: it consumes the app's existing Flask session and user model through Flask-Login and Flask-Principal, stores posts through SQLAlchemy, and renders with Markdown, so the blog inherits the host application's authentication, database, and styling. It fits inside the same process and deployment rather than requiring a second service to operate.

Key capabilities

  • Markdown authoring through integration with a Markdown editor, built on Bootstrap-Markdown and Markdown-js in the dashboard.
  • Image upload for use inside blog pages, handled by Flask-FileUpload.
  • LaTeX math formula support, so posts can embed formulas in LaTeX format.
  • Multi-user authorisation by integrating with authentication, using Flask-Login and Flask-Principal to distinguish users.
  • A plugin framework for extending the extension and adding new features, with a separate plugin collection published by the project.
  • Persistent post storage via SQLAlchemy, alongside Flask-WTF for form handling.
  • Python 2 and Python 3 compatibility, both listed as topics for the project.

Who uses it and how

  • Flask developers who already run a site and want a blog section under the application's existing domain, layout, and authentication rather than a second system.
  • Multi-author sites that need several people writing posts with distinct permissions, which the Flask-Login and Flask-Principal integration supports.
  • Technical bloggers and documentation writers who need LaTeX formulas and image uploads inside Markdown posts.
  • Teams that need behaviour beyond the defaults and extend it through the plugin framework instead of forking.
  • Serverless deployments: the project ships a Serverless Blog demo running on AWS Lambda, showing the extension used outside a long-running server process.

Getting started

Install the extension with pip install flask-blogging, or with easy_install flask-blogging as the README also lists. The quickstart example and the Read the Docs site carry the current setup instructions.

How it compares

No competing tools are named in the facts for this entry, and no list of paid products it replaces is provided, so it stands alone in this registry on that axis. The only comparable surface the facts describe is the general option of running separate blog software or writing the blog layer by hand, both of which Flask-Blogging replaces by living inside the Flask app. Its MIT licence and pip-only distribution are the concrete terms of use that the facts support.

When to use it — and when not to

A self-hoster must operate the full dependency stack: a database behind SQLAlchemy, authentication via Flask-Login and Flask-Principal, form handling through Flask-WTF, upload storage for Flask-FileUpload, and the Bootstrap front-end assets. Anyone not building on Flask, or wanting a standalone blog with its own admin and hosting, should look elsewhere, since this is an extension and needs a host application to exist first. The README is also thin — the substantive documentation lives off-site on Read the Docs, Python 2 still appears in the topic list, and 22 open issues indicate an actively reported but non-trivial bug surface to review before adopting.

project readme (upstream, from github) — read inline

Flask-Blogging

.. image:: https://github.com/gouthambs/Flask-Blogging/actions/workflows/unittesting.yml/badge.svg :target: https://github.com/gouthambs/Flask-Blogging/actions/workflows/unittesting.yml

This is a Flask extension for adding blog support to your site using Markdown. Please see Flask-Blogging documentation _ for more details. You can extend Flask-Blogging by using plugins from here _.

Check out the Serverless Blog _ demo running on AWS Lambda.

Features

  • Integration with Markdown Editor
  • Ability to upload images for use in blog pages
  • Incorporate math formulas in LaTeX format
  • Integrates with authentication to allow multiple users
  • Plugin framework to easily extend and add new features

Screen Shots

Blog Editor

.. figure:: /docs/_static/blog_editor.png

Blog Page

.. figure:: /docs/_static/blog_page.png

Minimal Example

Check the quickstart example _ for the latest documentation.

Installation

Install the extension with the following commands::

$ easy_install flask-blogging

or alternatively if you have pip installed::

$ pip install flask-blogging

Dependencies

  • Flask _
  • SQLAlchemy _
  • Flask-Login _
  • Flask-Principal _
  • Flask-WTF _
  • Flask-FileUpload _
  • Markdown _
  • Bootstrap _
  • Bootstrap-Markdown _
  • Markdown-js _

License

MIT _

.. include:: /docs/releases.rst

.. include:: /docs/authors.rst

Frequently asked questions

Is Flask-Blogging free to use?

Flask-Blogging 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 Flask-Blogging do?

A Markdown Based Python Blog Engine as a Flask Extension.

What is Flask-Blogging written in?

Flask-Blogging is primarily written in Python. Its source is publicly available at https://github.com/gouthambs/Flask-Blogging, and it has 700 GitHub stars.