Skip to main content

A self-hosted link-in-bio page you actually own

Linkfolio is a free, open-source Linktree alternative built with Next.js and Tailwind CSS. Deploy it on your own domain, edit one config file, and keep full control of your links — no account, no subscription, no third party in between.

See the live demoRead the documentationView source on GitHub (opens in a new tab)
Avatar

Linkfolio

demo

Why self-host instead of using Linktree?

Linkfolio compared with hosted link-in-bio services
AspectLinkfolioHosted link-in-bio services
CostLinkfolioFree, MIT licensedHosted servicesFree tier with paid upgrades
HostingLinkfolioYour own domain and infrastructureHosted servicesTheir domain, their infrastructure
CustomisationLinkfolioFull source access; inject your own React componentsHosted servicesLimited to the options exposed
DataLinkfolioNo third-party analytics unless you add themHosted servicesVisitor data flows through their platform
PerformanceLinkfolioStatic Next.js page you controlHosted servicesDepends on their platform

Everything you need, nothing you don't

  • Built on Next.js

    App Router and React 19, deployed as a static page by default.

  • Styled with Tailwind CSS

    Every colour and spacing token is a CSS variable — retheme without a rebuild.

  • Customisable components

    Swap the profile, links or footer for your own React components.

  • Accessible

    Semantic headings, visible focus rings, reduced-motion support, keyboard navigation.

  • SEO-ready

    Structured data, a sitemap and generated Open Graph images out of the box.

Get started

Deploy the template to Vercel in one click, or install the package into an existing Next.js project:

npm install linkfolio
pnpm add linkfolio
yarn add linkfolio
Deploy to VercelRead the documentationSee the live demo
Made by heristop (opens in a new tab)heristop/linkfolio on GitHub (opens in a new tab)

Twitter / X

🐦 Thoughts in 280 chars

GitHub

💻 Code & Collaborate

LinkedIn

🤝 Professional Network

Facebook

👥 Friends & Updates

Instagram

📸 Life in Pictures

Snapchat

👻 Fleeting Moments