A beautiful, open-source bento grid generator for creating stunning link-in-bio pages
Live Demo • Report Bug • Request Feature
- 🔗 Links - Clickable links with titles & subtitles
- 🖼️ Media - Images & GIFs with position control
- 📺 YouTube - Single video, grid, or list mode
- 📝 Text - Notes, quotes, and bio sections
- 🌐 Social - 26+ platforms with branded colors
- 📍 Map - Interactive Google Maps embed
- ⬜ Spacer - Empty blocks for layout control
- 🖱️ Visual Drag & Drop - Intuitive 9×9 grid editor. Drag, resize, and position blocks freely with real-time preview
- 🎭 Full Customization - Colors, gradients, custom backgrounds. Avatars with borders, shadows & multiple shapes
- 📦 Export to React - Download a complete Vite + React + TypeScript + Tailwind project, ready to deploy
- 🚀 Multi-Platform Deploy - Auto-generated configs for Vercel, Netlify, GitHub Pages, Docker, VPS & Heroku
- 🔒 Privacy First - No tracking, no account, no server required. All data stays in your browser localStorage
- 📁 Multiple Bentos - Save and manage multiple projects locally. Switch between them instantly
Track visits with your own Supabase instance:
- Page views & unique visitors
- Referrer tracking
- Self-hosted on your Supabase project
- No third-party cookies or trackers
- Admin dashboard included
See ANALYTICS.md for setup instructions.
X (Twitter), Instagram, TikTok, YouTube, GitHub, GitLab, LinkedIn, Facebook, Twitch, Dribbble, Medium, Dev.to, Reddit, Pinterest, Threads, Bluesky, Mastodon, Substack, Patreon, Ko-fi, Buy Me a Coffee, Snapchat, Discord, Telegram, WhatsApp, and custom links.
Your exported project includes: React, Vite, TypeScript, Tailwind CSS, Lucide Icons, React Icons
- Node.js (v18 or higher)
-
Clone the repository:
git clone https://github.com/yoanbernabeu/openbento.git cd openbento -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser
By default, the app opens directly on the builder (no landing page) to make self-hosting easier.
To enable the landing page:
VITE_ENABLE_LANDING=true npm run devFor production builds:
VITE_ENABLE_LANDING=true npm run buildnpm run buildThe built files will be in the dist directory.
OpenBento is available as a multi-platform Docker image supporting both AMD64 and ARM64 architectures (Intel/AMD servers, Mac M1/M2/M3, ARM servers, Raspberry Pi 4+).
Pull and run the latest image:
docker run -d -p 8080:80 yoanbernabeu/openbento:latestThen open http://localhost:8080 in your browser.
The Docker image supports multiple architectures:
- linux/amd64 - Intel/AMD 64-bit (standard servers, PCs)
- linux/arm64 - ARM 64-bit (Mac M1/M2/M3, AWS Graviton, Raspberry Pi 4+)
Docker automatically selects the correct image for your architecture.
# Build for your current platform
docker build -t openbento .
# Build for multiple platforms
docker buildx build --platform linux/amd64,linux/arm64 -t openbento .Create a compose.yml:
services:
openbento:
image: yoanbernabeu/openbento:latest
ports:
- "8080:80"
restart: unless-stoppedRun with:
docker compose up -dContributions are welcome! Please read our Contributing Guide and Code of Conduct before submitting a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Yoan Bernabeu
- GitHub: @yoanbernabeu
- Twitter: @yOyO38
Anis AYARI
- GitHub: @anisayari
- X: @DFintelligence