Skip to content


Lotto is a complete, simple, lightweight and dependency-free node.js web framework.

The name is a homage to Lorenzo Lotto that was a Venetian painter who lived in the Serenissima Repubblica di Venezia between 1480 ad 1557 and was one of the main exponents of the Venetian Renaissance of the early sixteenth century. And like he's paintings this project means to provide a beautifull and artistical way to build api's on an very easy way.

We built Lotto because as developers we are always ayiming to learn more and improve our habilities and as we are all the time using frameworks either to create apis or entire systems we had a desire to understand better this frameworks world.

Lotto Features:

  • 🚀 Router based on RegExp.
  • 🪶 Zero external dependencies and uses only the node:http api.
  • 📦 Built-in middlewares @lottojs/body-parser and @lottojs/params-parser.
  • 🏗️ Built-in helpers to bring facility to retrieve parameters and also return responses on your route.
  • ⚜️ Support to custom middlewares.
  • 🪹 Route nesting provided by our powerful Router class.
  • 🎡 Our ecosystem provides also another middlewares that you can include on your project as @lottojs/cors and @lottojs/secure-headers.

Every single part is fully open source! Fork it, extend it, or deploy it to your own server.

Help Grow Lotto

Lotto is a free and open-source project that relies on help from our community to grow. Below are a few simple things you can do to help us build a better Lotto framework.