A free online tool to convert any image into a favicon. Upload an image, crop it if needed, and download a favicon in ICO, PNG, or JPG format.
This is a fun, personal project I built mostly to try out SvelteKit with Svelte 5 and Tailwind CSS v4. I also created it because I was annoyed that there isn't a simple, non-bloated online tool to do this.
I don't have any further plans for it, but I hope it can be useful to someone!
Live at faviconizer.com
- Drag-and-drop or file picker upload
- Automatic square detection (skips cropping for square images)
- Built-in cropping tool for non-square images
- Configurable output size (8px to 128px)
- Multiple output formats: ICO, PNG, JPG
- Dark mode support
- Rate limiting and automatic file cleanup
- SvelteKit with Svelte 5
- Tailwind CSS v4
- Sharp for server-side image processing
- Supabase for file storage
- Upstash Redis for rate limiting
- Sentry for error tracking
- PostHog for analytics
- Deployed on Vercel
- Bun (or Node.js 18+)
- A Supabase project with a
faviconsstorage bucket - An Upstash Redis instance
- Clone the repository:
git clone https://github.com/Rednegniw/faviconizer.git
cd faviconizer- Install dependencies:
bun install- Copy the example environment file and fill in your values:
cp .env.example .envSee .env.example for all required variables.
- Start the dev server:
bun run dev| Command | Description |
|---|---|
bun run dev |
Start development server |
bun run build |
Build for production |
bun run preview |
Preview production build |
bun run check |
Run Svelte type checking |
bun run lint |
Run linter and formatter check |
bun run format |
Format code with Prettier |