Lua.sh is an open-source URL shortener that creates branded short links on custom domains, measures them with detailed click analytics, and runs either as a hosted cloud service or from your own server. It suits marketing teams and developers who want Bitly-style shortening with QR codes and an API, without handing their link data to a third party.[1][2]
Quick verdict
Small teams that want branded short links with real analytics and QR codes will get the most from Lua.sh. Its AGPL-licensed Laravel and Vue 3 app covers custom domains, custom slugs, click analytics, link expiry, and an OAuth API with an MCP server in one codebase. The price is operational ownership on the self-hosted path and unlisted cloud pricing: no public plan prices are documented, so budget approval needs a direct quote or your own hosting math. If you can run a PHP service or accept quote-based cloud billing, choose Lua.sh; if you need published per-seat prices today, choose a shortener that lists them.[1][2]
Key features
Add and manage custom domains so every short link carries your brand instead of a shared public shortener domain.[1]
Personalise each link with a readable custom slug rather than a random string.[1]
Track clicks, referrers, devices, and geolocation from a dashboard with analytics and event views.[1]
Generate QR codes for shortened links and publish bio-link pages from the same workspace.[1][2]
Set expiration dates on links and manage them from the interface instead of letting old campaign URLs linger.[1]
Protect the service with secure authentication and permission management for team-based usage, with optional Google and GitHub sign-in.[1]
Create and manage links programmatically through the OAuth API, and connect an assistant through the authenticated MCP server.[1]
Work from a mobile-friendly Vue 3 and TailwindCSS front end with a dark-mode option.[1]
Who will love it
Marketing teams that need branded links, QR codes, and click analytics will love it, because custom domains plus measurement cover the whole campaign-link workflow in one app.[1][2]
Developers who automate link creation will love it, because the OAuth API plus an MCP server make Lua.sh programmable from day one.[1]
Self-hosting operators will love it, because the codebase runs on their own server with built-in CSRF protection, rate limiting, and HTTPS support.[1]
Who should avoid it
Teams needing listed prices now should avoid it, because no public plan prices are documented for the cloud service and procurement cannot complete on the website alone.[1][2]
Non-technical teams with nobody to run a server should avoid it, because installation, database care, and key management remain operator responsibilities.[1]
Teams expecting a managed SLA should avoid it, because no support plan or uptime commitment is documented.[1]
Alternatives and compatibility
Lua.sh replaces a hosted shortener subscription wherever a team can self-host: the AGPL licence removes licence fees and custom-domain support preserves branding, at the price of operating the PHP service.[1]
It complements an existing marketing stack rather than competing with it, since short links and QR codes point at content elsewhere and the API embeds shortening into publishing workflows.[1]
Kutt is the documented catalogue competitor for the same self-hosted branded-link workflow; that edge stays in review while Kutt is itself a draft, and hosted services remain future relationship candidates pending their own intake, not links asserted here.[1]
Questions worth asking
What is the best Lua.sh alternative for non-technical users?
A managed hosted shortener with published pricing fits better, because Lua.sh either asks you to run a PHP and MySQL service or to accept cloud billing with no listed prices. Choose Lua.sh only if someone owns that server work or the cloud quote meets the need.[1]
Is Lua.sh really no-code?
Mostly yes for daily use: creating, shortening, and measuring links happens through the web interface. The exception is setup and operation, which need Composer, npm, database migration with seeding, and OAuth key generation rather than clicking through a signup form.[1]
How much does Lua.sh cost per month?
Can you self-host Lua.sh?
Yes, self-hosting is a first-class path: the README documents the full Composer and npm setup with Passport keys and seeded plans, plus dedicated self-hosting and local-development guides. Cloud-only premium domains stay on the hosted service; self-hosted installs use their own domains.[1]
Sources and editorial review
Source research. Reviewed on October 11, 2026. Written by Sanjib Sah. AI assisted; reviewed by a human editor.
We have not run or tested this product.
- Lua.sh official site
official · Observed October 11, 2026
Official marketing site: link shortener for marketing and developers teams; features are URL shortener, custom branded domains, QR codes and bio links, link-in-bio pages, analytics, and developer API, with an awesome-open-source section.
- Lua.sh README (official repository)
official · Observed October 11, 2026
Official repository README: next-generation scalable open-source URL shortener on Laravel, Vue 3, Inertia.js; URL shortening, detailed analytics (clicks, referrers, devices, geolocation), custom domains, custom slugs, responsive design, auth with team permissions, link expiration, CSRF/rate-limit/HTTPS security; source-install setup with Composer, npm, Passport keys, migrate and seed; optional Google/GitHub sign-in and PostHog; MCP server at /mcp; cloud-only premium domains.
- Lua.sh composer.json
official · Observed October 11, 2026
composer.json for luadotsh/lua: description Open source, scalable URL shortener for modern teams; license AGPL-3.0-or-later; PHP 8.5 with Laravel framework, Inertia, Passport, Horizon, Reverb, Socialite, Cashier billing, QR-code and PostHog libraries; url-shortener keywords.
Compared with these products
No explicit proprietary baseline is recorded.