Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

LittleLink

Free, open-source link-in-bio template in plain HTML and CSS with 100+ branded buttons and light and dark themes

Visit website Save

LittleLink is an MIT-licensed, do-it-yourself Linktree alternative: one static HTML page with more than 100 branded buttons, auto, light and dark themes and one-click deploys to Cloudflare, Vercel, Netlify and more.

Pricing
Open source
Deployment
Self-hosted
Platforms
Web
3,125stars1,562forks
1views
Updated

What is LittleLink?

LittleLink is a free, open-source template for building a single link-in-bio page, in the way a Linktree page lists a person's profiles and links. It is a static site made of one HTML file, a stylesheet and a folder of brand icons. There is no admin interface, no database and no JavaScript framework: you fork the repository, edit index.html to change the name, avatar and links, and publish the files to a static host. It is created by Seth Cottle, who is named as the creator on the LittleLink website, and the source is in the sethcottle/littlelink repository.

The page includes more than 100 branded button styles, such as GitHub, Mastodon, Bluesky, Spotify, YouTube and many more, and a set of generic buttons for email, phone, a shop or a website. Three themes, auto, light and dark, are built in, and the README says buttons that lack contrast with the background get an inverse outline. A separate Button Builder generates the CSS and HTML for a custom brand button, and the LittleLink Extended repository holds more niche services so that the core stays small.

The README lists one-click deployment buttons for Cloudflare, DigitalOcean, Vercel, Netlify and AWS Amplify, and also says the files can be served from GitHub Pages, a home-lab server or any frontend host. A Docker setup under the docker folder uses nginx:alpine and publishes the site on port 8080. Community projects extend it: LittleLink-Server by Techno Tim for containers, and LinkStack, which the README describes as a fork of LittleLink Admin, for a multi-user admin interface.

The latest release is v3.11.0, published July 29, 2026. It refreshes the Google icons and adds buttons for Google services, converts the button stack to a navigation element with a main landmark, removes redundant role attributes, adds preload hints and avatar dimensions, drops about 1.2 MB of legacy font files, fixes the Bluesky icons and removes the Kit button because that service shut down. The license is MIT. LittleLink does not collect analytics, host your page or provide a hosted account, and it does not include a link-click counter.

Inside the application

LittleLink screenshots

Explore the interface. Open a screenshot to view it at full size.

LittleLink sample page in light theme with branded link buttons
LittleLink screenshot 1

Capture of the official LittleLink sample page in the light theme, showing an avatar, a name and stacked branded buttons.

LittleLink sample page in dark theme with outlined branded buttons
Sample page, dark theme

Capture of the official LittleLink sample page in the dark theme, where buttons get an inverse outline for contrast.

LittleLink button gallery listing branded buttons such as Amazon Music, Apple App Store and Apple Music
Branded button gallery

Capture of the official LittleLink website listing the available branded buttons.

LittleLink demo page switching between themes with branded buttons
Theme support animation

Official animation from the project README showing LittleLink theme support on a demo page.

Source: official LittleLink project page.

Key capabilities

  • Fork and edit index.html The basic workflow is to fork the repository, open index.html and replace the name, description, avatar and link buttons. The README says you only need basic HTML knowledge, and the project wiki has a page about adding custom buttons to your own fork.
  • Download the latest release The project site has a Download Latest Release button, and each GitHub release carries the packaged files. Use a release tag if you want a stable copy instead of the main branch.
  • Deploy to Cloudflare, DigitalOcean, Vercel, Netlify or Amplify The README provides one-click buttons that fork the repository and deploy it. The repository includes a wrangler.toml for Cloudflare and a .assetsignore file so that repository metadata such as .git is not served.
  • Host on GitHub Pages or your own server Because the output is static, you can publish the folder through GitHub Pages, an nginx server, a CDN or a home lab. Remember to serve it over HTTPS.
  • Docker setup Run docker compose -f docker/compose.yaml up to serve the site at http://localhost:8080. The Docker readme says it uses nginx:alpine with gzip compression and cache settings, and that the compose file mounts the project for live editing.
  • 100+ branded buttons The button list on the site covers music services, social networks, developer sites, shops, messaging apps and payment links. Release 3.11.0 added Google Calendar, Chat, Docs, Forms, Gmail, Meet, Photos, Sheets and Slides buttons and a YouTube Music class.
  • Generic buttons Buttons for email, a website, a phone call, directions, a review link, an RSS feed, a download, an event RSVP and a shop are available for things that are not a brand.
  • Auto, light and dark themes Pick a theme in index.html, or leave it on auto to follow the visitor's system setting. You can change colors by editing the values in style.css, and release 3.11.0 implemented the documented theme-light class.
  • Accessibility checks Buttons with insufficient contrast get an inverse stroke, and the project runs a contrast check in continuous integration. The README notes that some brand colors fall short of the ideal contrast, so check your own page.
  • Semantic markup From 3.11.0 the button stack is a nav element labelled Links inside a main element, with a fixed canonical tag and theme-color metas.
  • Performance The page uses its own vanilla CSS and no framework, and 3.11.0 added font preload hints, avatar dimensions and woff2-only fonts. The README says the sample page scored 100 in PageSpeed Insights categories, a claim tied to a specific test run, so measure your own page.
  • SEO and social tags The template ships with an Open Graph and Twitter block to fill in, plus a canonical tag. Add your own title, description and share image before publishing.
  • Avatar options The avatar can be rounded, softly rounded or square through the avatar--rounded, avatar--soft and avatar--none classes. Placeholder avatars are provided at 128 and 256 pixels.
  • Button Builder The builder previews a custom button, checks contrast ratios and outputs CSS for css/brands.css and HTML for index.html. Use it when your service is not on the list.
  • LittleLink Extended A second repository collects niche services, so contributors can add rarely used buttons without cluttering the main project.
  • Figma template A community Figma file lets you plan the page design before editing HTML.
  • Privacy page A privacy.html file is included. The project's own page says its site uses Fathom Analytics, hosts on Vercel and uses a contact form service, so replace this text with the details of your own deployment.
  • Community and support Questions go to GitHub discussions or the project's Discord. The wiki explains how to submit a new brand, and the project accepts sponsorship through Buy Me a Coffee, Ko-fi and GitHub Sponsors.
Advertisements

Where LittleLink fits

Creating a personal link page

Fork the repository, replace the avatar and name, delete buttons you do not need and set the URLs on those you keep. Deploy to a static host and open the page on a phone to check that every link works and the buttons have enough contrast. Add a share image and description so previews look right when you post the link.

Using a custom domain

Point a domain you control at the static host, enable HTTPS and set the canonical URL in index.html to the final address. Test that the www and bare domains both resolve, and keep the old fork URL redirecting if you used it earlier.

Adding a button that does not exist

Use the Button Builder to design the button, paste the CSS into css/brands.css and the HTML into index.html, and add the icon to images/icons. Check the result in both light and dark themes. Follow the wiki's contribution guide if you want it added upstream.

Running a link page for a team or a small business

Use the generic buttons for the website, phone number, directions and reviews, and keep one fork per person or location. Docker lets you run several variants behind one proxy. If you need accounts, click statistics or many users on one installation, look at LinkStack instead.

Self-hosting in a home lab

Run the Docker compose file or copy the files to an nginx directory, put a reverse proxy with TLS in front and decide on logging. A static page has a small attack surface, but it still needs updates to the web server and the host.

Keeping up with upstream changes

Add the original repository as an upstream remote and merge release tags into your fork. Review changes to index.html and style.css before merging, because your own edits live in the same files, and read the version history for removed buttons such as Kit.

Making the page accessible

Check each button's contrast in light and dark themes, give the avatar a meaningful alt text and keep link labels descriptive. The template already uses a navigation landmark and the project checks contrast in CI, but brand colors and your own edits can still introduce problems, so test with a screen reader and keyboard.

Install

docker compose -f docker/compose.yaml up

Reviews of LittleLink

No reviews yet

Be the first to share your experience with LittleLink.

Loading review form…

Alternatives to LittleLink

Compare LittleLink with these tools →