Convert any image into app icons — entirely in your browser.
  • TypeScript 93.3%
  • CSS 5.2%
  • JavaScript 1.5%
Find a file
Joshue Abance d2a51ae9c0
All checks were successful
CI & Deploy / ci (push) Successful in 15s
CI & Deploy / deployment (push) Successful in 25s
ci: add Forgejo workflow for CI and Cloudflare deploy
2026-11-06 19:33:18 +08:00
.forgejo/workflows ci: add Forgejo workflow for CI and Cloudflare deploy 2026-11-06 19:33:18 +08:00
public init app 2026-08-22 22:58:00 +08:00
src Redesign UI around a true-size icon specimen sheet 2026-10-24 08:52:26 +08:00
.gitignore init app 2026-08-22 22:58:00 +08:00
bun.lock build: migrate deployment from Vercel to Cloudflare Workers 2026-11-06 19:33:17 +08:00
file-routes.d.ts Upgrade Solid 2.0 prereleases, Vite, Tailwind, and filesystem-routing 2026-10-24 08:52:26 +08:00
LICENSE Add MIT license, update README with project details, and create Vercel configuration 2026-08-22 23:16:03 +08:00
oxlint.config.mjs init app 2026-08-22 22:58:00 +08:00
package.json ci: add Forgejo workflow for CI and Cloudflare deploy 2026-11-06 19:33:18 +08:00
README.md build: migrate deployment from Vercel to Cloudflare Workers 2026-11-06 19:33:17 +08:00
tsconfig.json init app 2026-08-22 22:58:00 +08:00
vite.config.ts init app 2026-08-22 22:58:00 +08:00
vitest-setup.ts init app 2026-08-22 22:58:00 +08:00
wrangler.jsonc build: migrate deployment from Vercel to Cloudflare Workers 2026-11-06 19:33:17 +08:00

GenIcon

Convert any image into app icons — entirely in your browser.

Upload an image, pick the sizes you need (16×16 up to 512×512), and download them as individual PNGs or a single ZIP. No server, no uploads — everything runs client-side.

Features

  • All common formats in — PNG, JPG, WebP, SVG, GIF, BMP, AVIF
  • Square center-crop with stepwise high-quality downscaling
  • 7 icon sizes — 16, 32, 48, 64, 96, 128, 256, 512
  • Single or ZIP download — one size downloads a PNG; multiple sizes come as icons.zip
  • Progress bar during generation and zipping
  • Light/dark mode toggle, persisted

Tech

Development

bun install
bun run dev      # http://localhost:3000
bun run build    # static output in dist/client
bun run test

Deploy

Static site — deployed to Cloudflare Workers (static assets) via wrangler.jsonc (assets.directory: dist/client), deployed by Forgejo Actions (.forgejo/workflows/ci.yml) on push to main.

License

MIT