Why vanilla JS?
Instant loading – no 500KB framework bundle to download
SEO friendly – Google loves fast, lightweight sites
Zero dependencies – nothing to update or break
Privacy first – everything runs client-side, no data sent to servers
The tools
🔐 Password Generator – uses crypto.getRandomValues() for true randomness
📱 QR Code Generator – custom colors, PNG download
🎬 YouTube to MP3/MP4 – download audio or video
🖼️ Image Resizer – compress and resize using Canvas API
📝 Word Counter – words, characters, sentences, paragraphs
🎨 Color Converter – HEX ↔ RGB ↔ HSL in real-time
📐 Percentage Calculator – increases, decreases, ratios
📄 Image to PDF – convert without uploading to any server
🕐 Timezone Converter – compare times across the world
🔢 Base Converter – binary, decimal, hex, octal
🔤 Text Case Converter – UPPER, lower, Title, iNvErTeD
📋 Lorem Ipsum Generator – paragraphs, sentences, or words
Key technical decisions
Password generation:
const array = new Uint32Array(length);
crypto.getRandomValues(array);
Using the Web Crypto API ensures true randomness – much better than Math.random().
Image processing:
All image compression uses the Canvas API. The image never leaves the browser:
canvas.toBlob(blob => { /* download */ }, 'image/jpeg', quality);
No build step:
Each tool is a single HTML file with inline CSS and JS. No webpack, no bundler, no node_modules. Just open the file and it works.
Performance
Since there's no framework overhead:
First Contentful Paint: ~0.5s
Total page weight: ~15KB per tool
Works offline (no server calls needed)
Check it out
🔗 https://outils-gratuits-mu.vercel.app
The site is in French but the tools are universal – try the password generator or QR code maker.
What's next?
I'm planning to add:
Base64 encoder/decoder
JSON formatter
Regex tester
CSS minifier
What tools would you find useful? Drop a comment below!
Built with ❤️ using vanilla HTML/CSS/JS. Hosted on Vercel (free tier).
Top comments (0)