Masonite is a modern, developer-centric, "batteries included" Python web framework. It gives you everything you need to build and ship a complete web application — routing, an expressive Active Record ORM, mail, queues, notifications, task scheduling, events, authentication, validation and much more — out of the box, with very little configuration.
If you have used frameworks like Laravel or Ruby on Rails, Masonite will feel instantly familiar: it follows the MVC pattern, favors convention over configuration, and works hard so you can go from concept to creation as quickly and efficiently as possible. If Masonite is your first web framework, even better — it is designed to be easy to pick up for beginners while still scaling to the needs of advanced developers and businesses.
A taste of what building with Masonite looks like:
# routes/web.py
from masonite.routes import Route
ROUTES = [
Route.get("/", "WelcomeController@show"),
Route.get("/posts/@id", "PostController@show"),
]# app/controllers/PostController.py
from masonite.controllers import Controller
from masonite.request import Request
from masonite.views import View
from app.models.Post import Post
class PostController(Controller):
def show(self, view: View, request: Request):
post = Post.find(request.param("id"))
return view.render("posts.show", {"post": post})- Batteries included. Mail, queues, notifications, broadcasting, caching, task scheduling, events, file storage, authentication and authorization are all first-party features — no plugin hunting required. Use what you need when you need it.
- A beautiful Active Record ORM. Masonite ORM lets you work with your database using expressive, elegant models, migrations, relationships and collections.
- Delightful developer experience. A single
masonite newcommand scaffolds a complete project with an interactive wizard. Thecraftcommand line tool generates controllers, models, jobs, mailables and more. - Simple from install to deployment. Sensible defaults, environment-based configuration and a clear directory structure mean you spend your time building features, not wiring infrastructure.
Masonite was created in 2017 by Joseph "Joe" Mancuso. Joe wanted Python to have the kind of framework he loved working with in other ecosystems — one obsessed with developer experience, where everything you need ships out of the box and just works. He built Masonite from the ground up and poured years of work, care and enthusiasm into the framework, its packages and its community, taking it from a one-person project to a framework used in production around the world.
Joe sadly passed away in November 2025. Everything you see here exists because of him.
The project continues in his memory under the masonitedev organization, maintained by the community he built. Masonite 5, the first release published from the new organization, is dedicated to him — and the developer-first spirit he gave the framework continues to guide every release.
Thank you for everything, Joe. ❤️
This documentation is designed to be read from less to more — but every page also stands on its own when you need a reference:
- Getting Started — install Masonite, create your first application, understand configuration and the directory structure, and deploy to production.
- Foundations — how Masonite works under the hood: the request lifecycle, the service container, service providers and facades.
- Building Blocks — the features you will use in every application: routing, controllers, requests, responses, views, validation and friends.
- The Toolbox — everything else in the kit: mail, queues, events, caching, task scheduling, API development and more.
- Security — authentication, authorization, CORS and hashing.
- Masonite ORM — models, query builder, migrations, seeding and collections.
- Testing — everything you need to test your application with confidence.
Ready to build something?
- Head over to the Installation guide and create your first application — it takes a single command.
- Follow the Creating a Blog tutorial to build your first real application, from routes to database to views.
- Check out what's new in Masonite 5 if you are coming from an earlier version.
Try it once and you'll fall in love.