Onelink is an experimental link-in-bio tool built with Nuxt 3 that encodes a whole profile into a single URL as a base64 query parameter, removing the need for any database.
What is Onelink?
Onelink is a link-in-bio page generator where the profile data lives entirely in the URL. It takes JSON profile data, encodes it to base64, appends it as the data query parameter, and renders a shareable page. The application runs on Nuxt 3 and can be deployed to any Node hosting; the demo runs on Vercel. The repository is public on GitHub and has over 1,000 stars.
Key Features
- URL-based data storage — The whole profile (name, description, photo, social links, and a list of featured links) is packed into the URL as a base64-encoded JSON string; no database or backend is required.
- Compact payload — JSON keys are shortened to single letters (for example
nfor name,dfor description,lfor links) to keep URLs as short as possible. - Template selection via path — The numeric path segment after the host (for example
/1) chooses which template renders the page, and the roadmap calls for adding more templates. - Rich link icons — Each link can specify an icon set and an icon name (including
ph,ant-design,grommet-icons, andiconoir), so icons are rendered without storing image files. - Nuxt 3 framework — Built on Nuxt 3 with standard npm scripts (
dev,build,preview), and designed to deploy to Vercel or other Node platforms. - Link shortener friendly — Because URLs become long, the project recommends using a service like dub.co to share clean links.
Who is it for?
Onelink suits developers experimenting with URL-based state, creators who want a database-less link-in-bio page, and anyone learning Nuxt 3 by reading a minimal full-stack example. Developers can study how to serialize complex data into a compact string; creators can host a profile page for free on a static platform; learners can extend the project with new templates and features.
What can you do with Onelink?
- Creators: build a link-in-bio page with name, bio, avatar, contact channels, and custom links, then share it as one long URL.
- Developers: use the project as a Nuxt 3 reference for encoding and decoding base64 in query parameters and for building serverless-ready front-ends.
- Event organizers: share a single link containing profile info and multiple resources without managing a server.
How does Onelink work?
Onelink stores profile data as compact JSON, converts that JSON to a base64 string, and places it in the data query parameter of the page URL. When the page loads, Nuxt 3 decodes the parameter, parses the JSON, and renders the profile UI. The numeric path segment (for example /1) selects which template to use for rendering.
Pros and cons
- No database setup — you can go from zero to a live link-in-bio page by just encoding data into a URL.
- Lightweight deployment — static-friendly output means it can run on Vercel or any Node host with no infrastructure.
- Long URLs — the page itself notes the URL can become very long, so a link shortener is recommended.
- Early stage — the repo is marked experimental and its roadmap includes refactoring repetitive boilerplate code and adding more templates.
Alternatives
Linktree is a popular hosted link-in-bio service that stores profiles on its own servers, whereas Onelink keeps everything in the URL.
FAQ
Is Onelink free to use?
The source code is publicly available on GitHub, so you can self-host it without paying a fee. You only pay for whatever hosting you choose, such as a free Vercel tier.
What does Onelink do?
Onelink turns profile data that you encode into a base64 URL into a shareable link-in-bio web page. It eliminates the need for a database by storing all information inside the link itself.
Does Onelink need a database?
No. All the profile data is stored in the URL as a base64-encoded JSON string, so the app requires no database, no auth, and no server-side storage.
What happens if the URL gets too long?
The project documentation notes that the URL can become very long and advises using a link shortener such as dub.co to make links more shareable.





