NK2552003/Iconoodle
Iconoodle is a small Next.js + TypeScript site and icon library of hand-drawn SVG doodles, illustrations, and icon packs. Use them directly in projects, download individual SVGs or bulk-export packs.
Hey! I’m Nitish — I made this to make doodles easy to find, grab, and sprinkle into your projects.
This project is a pretty little Next.js site full of hand-drawn-ish doodles and icons (SVGs). Use them, remix them, laugh at them, or screenshot them and pretend you drew them. All the usual modern web bells & whistles are included — and downloading single doodles or full packs is made human-friendly (and script-friendly).
Quick start ✅
-
Clone the repository
-
Install dependencies:
npm install
-
Start the dev server:
npm run dev
-
Open locally:
http://localhost:3000 -
View the live demo: https://nk2552003.github.io/Iconoodle/
What’s included 🔧
app/— Next.js application and pagescomponents/— Reusable UI componentslib/— Doodle and icon pack data (*.json)public/— Static assets
Exporting SVGs (programmatic) ⚡
A small Node script can export all SVGs to disk. Create or use tools/export-svgs.js and run node tools/export-svgs.js.
Minimal example:
const fs = require('fs');
const path = require('path');
const doodles = require('../lib/doodles.json');
const outDir = path.resolve(__dirname, '..', 'exports', 'svgs');
fs.mkdirSync(outDir, { recursive: true });
doodles.forEach((d, i) => {
const name = (d.id || `doodle-${i}`).replace(/[^a-z0-9-_]/gi, '-').toLowerCase();
fs.writeFileSync(path.join(outDir, `${name}.svg`), d.svg || d.src || '');
});
console.log(`Exported ${doodles.length} SVGs to ${outDir}`);Note: some entries store full SVG content in
svg, others referencesrcpaths or URLs.
Contributing & License 📝
- Contributions welcome — see
CONTRIBUTING.mdand followCODE_OF_CONDUCT.md. - Licensed under MIT. See
LICENSE.
Questions / Contact ✉️
If you build something with these doodles or want to contribute, open an issue or PR — I’d love to see it.
License: MIT — see LICENSE for details.