npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

linkfolio

v3.2.1

Published

Self-hosted, open-source Linktree alternative built with Next.js and Tailwind CSS — one fast, accessible link-in-bio page on your own domain.

Readme

Linkfolio — Open-Source Link-in-Bio Page for Next.js

Next.js 16 React 19 TypeScript 7 Tailwind CSS 4 CI License: MIT

A self-hosted, open-source Linktree alternative built with Next.js and Tailwind CSS. One fast, accessible link-in-bio page that connects your audience to everything you publish — on your own domain, with no account, no subscription and no third party in between.

Live demo · Documentation · Deploy your own

Linkfolio — a self-hosted link-in-bio page built with Next.js and Tailwind CSS

Quick start

Deploy the template and edit one file:

Deploy with Vercel

Everything about your page — name, avatar, links, layout, palette — lives in config/user.config.ts. Your deployment is your profile page and nothing else: / renders your links.

Already have a Next.js app? Install the package instead:

npm install linkfolio    # or: pnpm add linkfolio · yarn add linkfolio
import { LinkFolio } from "linkfolio";
import userConfig from "./user.config";

export default function Page() {
  return <LinkFolio userConfig={userConfig} />;
}

Preview

| Light | Dark | | :---------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------: | | Linkfolio in light mode | Linkfolio in dark mode | | Bento layout | Mobile | | Linkfolio bento mosaic layout | Linkfolio on mobile |

Features

  • Two layouts — a classic wrapping list, or a bento mosaic that sizes each tile from the group a link already belongs to.
  • Five theme presets — teal, ocean, forest, sunset and mauve, each generated from one lightness recipe so they share contrast rather than being eyeballed.
  • Dark mode — a genuine dark palette, not an inversion, transitioned with the View Transition API.
  • Analytics, optional and pluggable — a DOM event that works with any tracker, plus adapters you can register for your own.
  • SEO built in — linkfolio/seo exports buildMetadata and buildJsonLd so server components emit correct metadata and ProfilePage structured data.
  • Accessible by default — keyboard reachable, screen-reader labelled, and honouring prefers-reduced-motion, prefers-reduced-transparency and prefers-contrast.
  • Fast — a static Next.js page with the React Compiler enabled and images served through next/image.
  • Yours to change — full source access, injectable React components, and every colour and motion value exposed as a CSS custom property.

Why self-host instead of using Linktree?

| | Linkfolio | Linktree | LinkStack | Bio.link | | --------------------- | ------------------------ | --------------------------------------------- | --------------------------------------- | -------------------------------------- | | Cost | Free, MIT licensed | Free tier; paid from €4.50/mo billed annually | Free and open source; hosted from $1/mo | One plan at $7.49/mo, 7-day free trial | | Account required | None | Yes, a Linktree account | Yes, an account on the instance | Yes, a Bio Link account | | Open source | Yes, MIT | — | Yes, AGPL-3.0 | — | | Your own domain | Yes, you deploy it | No, pages live at linktr.ee/username | Yes, self-hosted or on the $5/mo plan | Yes, on the paid plan | | Where your data lives | Your infrastructure | — | Your own web server when self-hosted | — | | Built with | Next.js and Tailwind CSS | — | PHP and Laravel | — |

"—" means the vendor does not publish that information. Competitor details checked 2026-08-17.

  • Linktree: https://linktr.ee/s/pricing
  • Linktree: https://linktr.ee/help/en/articles/6571689-can-i-change-the-linktree-url-to-a-custom-domain
  • LinkStack: https://linkstack.org/
  • LinkStack: https://github.com/LinkStackOrg/LinkStack
  • Bio.link: https://bio.link/

Who it's for

Developers, designers, writers and makers who want a personal link hub they fully control — a single page linking a portfolio, a blog, social profiles and side projects, deployable in minutes to Vercel.

There are two methods to get started with Linkfolio:

1. Starting with the Linkfolio template

Deploy

Edit the user.config.ts file in the config directory to personalize and tailor your profile to your preferences.

Using this method, you can quickly deploy a Linkfolio page with Vercel using the provided template. Your deployment is your profile page and nothing else: / renders your links, and the project's own marketing pages (landing, /docs, /demo) are not built.

Set NEXT_APP_URL to your site's public URL (e.g. https://links.example.com) so the canonical URL, sitemap and Open Graph tags point at your domain. On Vercel it falls back to the project's production URL; on other hosts it is required.

Showcase mode — the project's own demo deployment sets LINKFOLIO_SHOWCASE=1, which turns on the marketing landing page, /docs and /demo. Leave it unset for a personal deployment. The flag is read at build time, so changing it requires a redeploy.

2. Integrating into an existing Next.js project

Install the linkfolio package in your Next.js / Tailwind project:

npm install linkfolio

Or using Yarn / Pnpm:

yarn add linkfolio
pnpm add linkfolio

Documentation

  • Configuration — every option in user.config.ts
  • Layouts — the classic list and the bento mosaic
  • Theming — presets, colour tokens and motion tokens
  • Analytics — the DOM event, built-in providers, custom adapters
  • SEO helpers — buildMetadata and buildJsonLd for server components
  • Bundled assets — importing the shipped icons

Full guide: linkfolio-demo.vercel.app/docs

Playwright is used for end-to-end testing to ensure the integrity and functionality of the project.

Running Tests

To execute the Playwright tests, run the following command:

npx playwright test

Updating Reference Snapshots

As the project evolves, you might update the UI or functionality, causing the existing reference snapshots to be outdated. In such cases, you'll need to update the snapshots to match the latest changes.

To update the reference snapshots, run:

npx playwright test --update-snapshots

This will run the tests and update any snapshots that don't match the current render of your page.

Example Usage

For a practical implementation of Linkfolio, check out my example repository: My Linkfolio Page.

This repository demonstrates how to integrate and customize Linkfolio in a Next.js project.

Frequently asked questions

Is Linkfolio free?

Yes. Linkfolio is open source under the MIT licence. You host it yourself, so there is no subscription and no usage limit.

How is it different from Linktree?

Linkfolio runs on your own domain and infrastructure. You have full access to the source, can inject your own React components, and no third party sits between you and your visitors.

Do I need to know Next.js to use it?

No. You can deploy the template to Vercel in one click and personalise it by editing a single configuration file. Knowing Next.js helps if you want to customise components.

Can I add it to an existing Next.js project?

Yes. Install the linkfolio package and render the LinkFolio component with your own config object.

Can I use Google Analytics with Linkfolio?

Yes, and it is not the only option. Set analytics: { provider: "ga", id: "G-…" } in your config and Linkfolio loads the tag and reports which link each visitor clicked. Google Tag Manager, Plausible and Umami ship as built-in providers too, you can register your own, and every link card emits a linkfolio:analytics DOM event you can listen to without configuring any provider at all.

Contributing

If you have ideas to improve Linkfolio or found a bug, do not hesitate to open an issue or a pull request. CONTRIBUTING.md covers local setup, the checks CI runs, and how screenshot baselines are regenerated.

Brand

Linkfolio's code is MIT licensed — fork it, modify it, and redistribute it freely.

The name "Linkfolio" and its logo are not covered by the MIT licence. The MIT grant covers copyright in the software, not the project's identity.

You're welcome to reference Linkfolio factually, e.g. "built with Linkfolio", "a fork of Linkfolio", or "compatible with Linkfolio". Please don't use the Linkfolio name or logo as the identity of a derivative project, in a product, company or domain name, or in any way that implies endorsement by or affiliation with this project.

For any other use, please open an issue to ask first.

See TRADEMARK.md for the full trademark policy.

License

Linkfolio is open-sourced under the MIT License.