Self-Hosted Link-in-Bio Pages
LinkStack, LittleLink, Bento alternatives — own your "linktr.ee" with a single container.
A category Linktree built a billion-dollar SaaS on. The OSS equivalent is a 100-MB container that hosts a list of links + an avatar at me.example.com. Not a substitute for a real personal site (see Documentation for static-site frameworks if you want one), but the right tool when you just need a tappable link list for a profile bio.
Full-featured platforms
- ★ LinkStack — PHP / Laravel; multi-user; theme system; analytics; admin UI. The most "Linktree-replacing" pick. Active maintenance in 2026.
- Linkr — Node-based; modern; multi-user; light feature set.
- LinkAce — primarily a bookmark manager but supports public link pages; double-duty option.
Static / template-based
- ★ LittleLink — pure static HTML / CSS template; fork, edit
index.html, deploy anywhere (Pages / Netlify / nginx). Zero infrastructure. The default for "I just want a link page." - LittleLink-Custom — community fork with a tiny PHP admin so non-devs can edit links via a UI.
- dumblinks / DumbWare LinkBoard — minimal alternatives.
- bio.link templates — many Astro / Next.js / Hugo starters; search "linktree clone Astro" for fresh ones.
Profile / single-page personal sites (broader scope)
- ★ Hugo / Eleventy / Astro + a "card" template — the boring, durable choice. Free hosting on Pages / Netlify / Cloudflare Pages. See Frameworks and Documentation.
- Linkfree (formerly EddieHub) — JSON-driven profile pages; community-curated; closed shop now but the OSS template lives.
- Maple / Page.me OSS — minimal hosted alternatives; be careful — many "OSS link-in-bio" repos are abandoned by month 18. Check last commit before adopting.
- Bento / Beacons / Linktree / Stan / Koji — closed-source SaaS in this space; mention only as comparison.
Adjacent: profile in your own domain
- Mastodon profile — your
@you@example.socialpage already serves as a bio + link list with verified-link checkmarks; many people skip dedicated link-in-bio for this. - GitHub profile README — for devs, this is often the link page.
- about.me — closed-source SaaS; mention as benchmark.
URL shortening + analytics combo
- ★ Shlink — already in selfhost-personal; shortens + tracks clicks. Pair with LittleLink / LinkStack for "branded short links pointing out from my bio page."
- Plausible / Umami — see Analytics; embed a privacy-friendly tracker on the page.
What "good" looks like
- One avatar / name / one-line bio above the fold.
- 5–8 links, max. More than that means people scroll past everything.
- HTTPS + your own custom domain.
- Click analytics — you'll otherwise never know what works.
- Mobile-first — 95% of taps come from a phone.
- Fast — sub-1s LCP. Static beats dynamic for this.
Patterns to adopt
- ★ Static beats dynamic for a link page. LittleLink fork → push to a Pages host → done. No DB to back up, no container to update.
- Pin a custom domain.
me.example.comis the difference between "real" and "I made this in 5 minutes." Both are true; one looks better in a bio. - Track clicks. Shlink + Plausible + a
?ref=bioUTM is enough to learn what your audience actually clicks. - Don't iterate on visuals weekly. A link page is a tool, not a brand exercise.
- Tailscale / Access not needed. This is the rare self-host page that should be public.
Pick this if…
- Default static link page: LittleLink (or LittleLink-Custom for a non-dev admin UI).
- Multi-user / multi-tenant: LinkStack.
- Want a real homepage with a link list section: Astro / Hugo / Eleventy template (see Frameworks).
- Already self-host bookmarks: LinkAce can double as a public link page.
- Don't want to host this: Bento / Linktree / Beacons (paid, polished).