Flask is not going away. The Pallets team published Flask 3.1.3 on February 19, 2026, under the BSD-3-Clause licence, with Python 3.9 as the floor and Werkzeug 3.1.9 underneath. People look for alternatives because of what Flask leaves out: request validation, OpenAPI docs, an ORM, an admin, and real async throughput. The Flask async docs say an async view still ties up one worker for the whole request, and suggest Quart if your code is mainly async.
The picks below start with the two biggest jumps, FastAPI for typed APIs and Django for full applications, then cover Flask-shaped async options and lighter frameworks. If you have already settled on FastAPI-style typing, our FastAPI alternatives guide compares the frameworks around it in more depth.
Prices below are as of November 8, 2026. Our method is on How we review tools.
Quick comparison
| Tool | Best for | Price | Platforms |
|---|---|---|---|
| FastAPI | Typed JSON APIs with automatic OpenAPI docs | Free (MIT) | Python 3.10+ |
| Django | Full web apps with ORM, admin and auth | Free (BSD-3-Clause) | Python 3.12+ |
| Quart | Flask code that needs real async | Free (MIT) | Python 3.13+ |
| Litestar | Larger async APIs with DI and DTOs built in | Free (MIT) | Python 3.8+ |
| Starlette | A minimal ASGI base you assemble yourself | Free (BSD-3-Clause) | Python 3.11+ |
| Falcon | Fast REST back ends with few dependencies | Free (Apache 2.0) | Python 3.9+ |
| Bottle | Tiny apps in a single file | Free (MIT) | Python 2.7, 3.8+ |
FastAPI
FastAPI replaces the pile of Flask extensions most API projects collect. You declare request bodies and query parameters with Python type hints and Pydantic models, and FastAPI validates input, serializes output and generates OpenAPI docs with Swagger UI from the same code. Route decorators look close enough to Flask that the first endpoint takes minutes.
The latest release is 0.162.2 from November 7, 2026, MIT-licensed, on Python 3.10 or newer. The same team runs FastAPI Cloud, and the fastapi deploy command pushes an app there. Its Hobby plan is $0 a month for 3 apps, and Pro is $20 per seat per month.
Best for: Teams building JSON APIs who want validation and docs without extra extensions.
Pricing:
- Framework: free, MIT licence
- FastAPI Cloud Hobby: $0 a month, 3 apps, 1 seat
- FastAPI Cloud Pro: $20 per seat per month, up to 10 seats
Watch out for:
- FastAPI is still on 0.x, and the FastAPI release notes mark several 2026 versions as breaking, so pin it tightly.
- Server-rendered HTML with forms and sessions is possible but takes more wiring than in Flask.
Official site: FastAPI.
Django
Django is the answer when a Flask app has grown its own ORM layer, auth, admin screens and migrations out of extensions. All of that ships in one package, along with forms, templates, sessions and security middleware, and the parts are designed to work together.
Django 6.1.3 came out on November 3, 2026, with 6.0.10 and 5.2.19 released the same day. The 6.1 line needs Python 3.12 or newer. For APIs, most teams add Django REST Framework or Django Ninja on top.
Best for: Products with users, an admin back office and a relational database.
Pricing:
- Free, BSD-3-Clause licence
- Funded by the Django Software Foundation and donations
Watch out for:
- The API story is split between add-ons, and a Django Forum thread from September 2025 has users saying DRF is no longer under active development.
- Its conventions are strong, so a small Flask service often feels heavier after the move.
Official site: Django.
Quart
Quart is the least disruptive move. It is a Pallets project that reimplements Flask's API on asyncio, so blueprints, request, render_template and the app factory pattern look the same. The Quart documentation includes a migration guide from Flask, plus how-tos for WebSockets and HTTP/2.
Version 0.23.1 shipped on August 29, 2026, after a burst of releases that summer. It is MIT-licensed. Many projects can switch by changing imports and adding async and await to views that do I/O.
Best for: Existing Flask apps that need WebSockets or many concurrent I/O-bound requests.
Pricing:
- Free, MIT licence
Watch out for:
- Quart 0.23 requires Python 3.13 or newer, which rules it out on many older servers.
- Only some Flask extensions work with it, so check each one your app uses.
Official site: Quart.
Litestar
Litestar is for Flask projects that turned into large APIs and need structure. Dependency injection, DTOs, SQLAlchemy and Piccolo integration, msgspec serialization, JWT auth, rate limiting and metrics are built in, so there are fewer third-party extensions to keep in sync.
Version 2.25.0 was released on October 18, 2026, MIT-licensed and run by a team of five maintainers rather than one person. It supports class-based controllers, which suit teams that prefer grouping routes over Flask's function decorators.
Best for: Growing async APIs that want batteries included and shared maintenance.
Pricing:
- Free, MIT licence
- Funded by sponsors, no paid tier
Watch out for:
- Version 3 is in development, and the Litestar release notes already deprecate the built-in SQLAlchemy plugin path for removal in v3.
- Its community and tutorial base are much smaller than Flask's or FastAPI's.
Official site: Litestar.
Starlette
Starlette is the ASGI toolkit FastAPI is built on, and it fits Flask users who liked that Flask made few decisions for them. You get routing, WebSockets, background tasks, middleware for CORS and GZip, sessions, static files and an httpx-based test client. The only required dependency is anyio, and it runs on asyncio or trio.
Starlette reached 1.0.0 on March 22, 2026 and moved quickly after that, to 1.10.0 on October 24, 2026. It is BSD-3-Clause and needs Python 3.11 or newer.
Best for: Developers who want a small async core and will choose every other piece themselves.
Pricing:
- Free, BSD-3-Clause licence
Watch out for:
- There is no validation, ORM or form handling, and Jinja2, multipart parsing and sessions each need an optional package, as the Starlette docs list.
- Ten minor releases in seven months means reading changelogs before each upgrade.
Official site: Starlette.
Falcon
Falcon takes a stricter view of REST than Flask. Resources are classes with on_get and on_post methods, and the framework has no dependencies outside the standard library. It can be compiled with Cython and runs on CPython and PyPy, under WSGI or ASGI, with WebSocket support.
Falcon 4.4.0 was released on September 30, 2026, under Apache 2.0. Teams pick it for internal services where predictable performance matters more than templates or an admin.
Best for: High-traffic REST services that should carry as few dependencies as possible.
Pricing:
- Free, Apache 2.0 licence
Watch out for:
- The Falcon FAQ says it does not provide API spec support out of the box, so OpenAPI needs a third-party package.
Official site: Falcon.
Bottle
Bottle is smaller than Flask: one file, no dependencies beyond the standard library, a built-in template engine and a development server. You can drop bottle.py next to a script and serve routes with no install step, which suits internal tools, Raspberry Pi projects and teaching.
The current release is 0.13.4 from June 15, 2025, MIT-licensed. It runs under Gunicorn, Cheroot or any WSGI server, and it also works with Jinja2 or Mako templates.
Best for: Single-file tools and small apps where even Flask feels like too much.
Pricing:
- Free, MIT licence
Watch out for:
- Development is slow. The Bottle docs cover an unreleased 0.14, and 0.13 still carries Python 2.7 support.
- It is WSGI only, with no async views.
Official site: Bottle.
How to choose
| If you need | Pick |
|---|---|
| A typed JSON API with docs generated for you | FastAPI |
| Users, admin, ORM and migrations in one package | Django |
| Async without rewriting a Flask app | Quart |
| A large async API with DI and DTOs built in | Litestar |
| The smallest async foundation to build on | Starlette |
| Fast REST with no outside dependencies | Falcon |
| A whole web app in one Python file | Bottle |
When to stay with Flask
Stay with Flask for server-rendered sites, admin tools and small APIs that run on sync workers. It supports Python 3.9 and later, years of extensions cover most common needs, and a 3.x app needs no rewrite to stay current. If you only miss validation and OpenAPI, APIFlask adds both on top of Flask without changing frameworks.
Frequently asked questions
Is Flask still maintained?
Yes. Pallets released Flask 3.1.3 on February 19, 2026, and Werkzeug 3.1.9 followed on September 27, 2026. Pallets also maintains Quart, the async version of Flask.
Is FastAPI better than Flask?
For JSON APIs, FastAPI saves work: validation, serialization and OpenAPI docs come from type hints. For HTML pages, forms and sessions, Flask is simpler. FastAPI also needs Python 3.10, while Flask runs on 3.9.
Flask or Django, which should I learn?
Flask teaches how web requests work because you add each piece yourself. Django teaches how a complete product fits together, with the ORM, admin and auth already in place. For a job building business apps, Django covers more ground.
Does Flask support async?
Flask 2.0 and later accept async views, but each request still occupies a worker until it finishes, so you gain little concurrency. Quart or an ASGI framework such as FastAPI or Litestar handles async I/O properly.