Lua vs
Dub
This is the comparison where the honest answer is least convenient for us. Dub is open source, self-hostable, developer-first, and well built. Most of the arguments Lua makes against a closed shortener do not land here, because Dub already agrees with them. What is left is a narrower question about scope and how much product you want around the link, and that is the question this page tries to answer rather than dodge.
Why people move
A smaller surface to run
Dub has grown well beyond links into a broader platform. If you want a shortener and its analytics and nothing else, Lua is less to deploy, less to configure and less to keep upgraded.
MySQL as well as PostgreSQL
Lua runs on either, which matters if you self-host onto infrastructure you already have rather than choosing a database for one service.
A Laravel codebase
If your team writes PHP, extending Lua is a Tuesday afternoon rather than a new stack to learn. If your team writes TypeScript, that argument runs the other way and you should weigh it accordingly.
Feature by feature
| Feature | Lua | Dub |
|---|---|---|
| Open source | Yes | Yes |
| Self-hosting | Yes | Yes |
| Custom domains | Included | Included |
| Click analytics | Country, region, city, device, browser, OS, referrer, UTM | Comparable, plus more |
| REST API | Included | Included |
| MCP server | Included | Available |
| Stack | Laravel and Vue, PostgreSQL or MySQL | Next.js and TypeScript |
| Scope | Links and their analytics | A broader link platform |
What it costs
| Where you are | Lua | Dub |
|---|---|---|
| Getting started | Free tier | Free tier |
| Self-hosting | Free, your server | Free, your server |
| Hosted | Paid plans | Paid plans |
Switch if you
- Write PHP and want to extend the thing you run
- Want to self-host onto MySQL rather than adopt PostgreSQL for one service
- Want a shortener and its analytics, not a platform around them
Stay on Dub if you
- Already run it and it works, because the gap does not justify a migration
- Write TypeScript and want to modify the codebase
- Use the parts of it that reach past links
- Want the larger ecosystem and integration surface
Try it against your own links
Free to start, no card. Bring a domain when you are ready.
Start for free