OpenLinks is a free, open-source Astro template for creating customizable link-in-bio pages. All configuration is handled via a single JSON file, making it extremely easy to personalize and deploy.
⭐ 100% JSON-driven: Configure your profile, links, theme, and more via OpenLinks.json.
⭐ Customizable themes: Switch between built-in themes or create your own in themes.ts.
⭐ Responsive design: Looks great on mobile and desktop.
⭐ Custom icons support: Add SVG icons to your links.
⭐ TailwindCSS integration: Modern, easily editable styles.
⭐ Adult content warning: Optional +18 warning banner.
⭐ SEO & social meta: Optimized for sharing on social media.
⭐ Easy deployment: Works with Vercel, Netlify, GitHub Pages, and more.
/
├── OpenLinks.json # Main config (profile, links, theme, etc)
├── themes.ts # Available themes
├── src/
│ ├── components/ # Reusable Astro components
│ ├── layouts/ # Main layout
│ ├── lib/ # Utilities (e.g. getTheme)
│ ├── pages/ # Astro pages
│ └── styles/ # Global styles and Tailwind
├── public/ # Static files (icons, fonts, avatar)
├── astro.config.mjs # Astro + Tailwind config
├── package.json # Dependencies and scripts
└── README.md
-
Clone the repository:
git clone https://github.com/E10YDEV/OpenLinks.git cd OpenLinks -
Install dependencies:
npm install
-
Customize your page:
- Edit
OpenLinks.jsonto change your profile, links, theme, etc. - (Optional) Edit
themes.tsto add or modify themes.
- Edit
-
Start the development server:
npm run dev
Open http://localhost:4321 in your browser.
-
Build for production:
npm run build
-
Preview the production build:
npm run preview
- Profile & links: All managed in
OpenLinks.json. - Themes: Set the
"theme"value in the JSON to any available inthemes.ts:default,ocean,forest,sunrise,ness,arctic,cherry,brutalism. - Icons: Place your SVGs in
public/icons/and reference the path in each link.
All your profile information, links, and theme settings are managed in the OpenLinks.json file at the root of the project. Here’s how to customize it:
{
"name": "Your Name",
"description": "Short bio or description.",
"avatar": "/avatar.png",
"theme": "ocean",
"links": [
{
"title": "GitHub",
"url": "https://github.com/yourusername",
"icon": "/icons/github.svg"
},
{
"title": "Twitter",
"url": "https://twitter.com/yourusername",
"icon": "/icons/twitter.svg"
}
],
"adultContent": false
}- name: Your display name.
- description: A short description or tagline.
- avatar: Path to your profile image (place it in the
public/folder). - theme: Choose a theme from those available in
themes.ts. - links: An array of your links. Each link can have:
title: The label shown on your page.url: The destination URL.icon: Path to an SVG icon (place SVGs inpublic/icons/).
- adultContent: Set to
trueto show a +18 warning banner.
- Add, remove, or edit links as needed.
- Change the theme by updating the
"theme"value. - Update your avatar or bio at any time.
After saving changes to OpenLinks.json, your site will update automatically in development mode.
| Command | Action |
|---|---|
npm run dev |
Start the development server |
npm run build |
Build the site for production in /dist |
npm run preview |
Preview the production build locally |
npm run astro |
Run Astro CLI commands |
OpenLinks is actively developed! Here’s what’s coming soon:
- Link sharing system: Easily share and manage your links with others.
- Advanced customization: More options to personalize layouts and components.
- SVG icon color support: Change the color of your SVG icons directly from your configuration.
- More themes: A wider variety of built-in themes to choose from.
Stay tuned for updates and feel free to suggest features or contribute!
Contributions are welcome! If you have ideas for new features, improvements, or bug fixes, feel free to open an issue or submit a pull request.
How to contribute:
- Fork the repository.
- Create a new branch for your feature or fix.
- Make your changes and commit them.
- Open a pull request describing your changes.
Please follow the existing code style and include clear commit messages. Thank you for helping make OpenLinks better!
MIT. Made with ❤ by E10Y.
Customize, deploy, and share your link-in-bio page in minutes!
