CodeDusk
QR codes with style, right from your browser
Problem
Most QR code generators are basic web tools that produce plain black-and-white codes with no customization. Developers and marketers who need branded QR codes with custom colors, gradients, or logos have to use paid services or desktop software. There is no lightweight, free solution that lives right in the browser and offers advanced styling, animations, and multi-format export — all without leaving the current tab.
Solution
CodeDusk is a Manifest V3 Chrome extension that brings a full-featured QR studio into the browser toolbar. It offers three visual styles (square, rounded, dots), gradient colors with five direction modes, logo overlays, and five animation types with GIF and Lottie export. The scanner supports camera, image upload, and screenshot-based QR reading with advanced image processing. A batch mode generates multiple QR codes at once and exports them as a ZIP. The entire UI is localized in 9 languages.
Key Features
Custom QR Styles
Choose from square, rounded, or dot module styles with three size presets and five curated color presets plus a random generator.
Gradient Colors
Apply gradients to QR codes with horizontal, vertical, diagonal, radial, or custom-angle directions and independent foreground/background colors.
Animated QR Export
Five animation types — build up, color wave, pulse, and fade in — exportable as animated GIF or Lottie JSON.
Camera & Screenshot Scan
Scan QR codes via camera, image upload, or screenshot with advanced processing including binarization and color inversion fallbacks.
Batch Export
Generate multiple QR codes from a text list and download them all as a numbered ZIP archive.
Context Menu Integration
Right-click to generate QR from page URL, links, or selected text, or scan QR from any image on the page.
and more...
Challenges
The primary challenge was building a reliable QR scanner that works across diverse image conditions. The solution was implementing a multi-pass decoding pipeline with binarization at multiple thresholds, color inversion for light-on-dark codes, and resolution upscaling for small images. Another challenge was the animation system — rendering five distinct animation types on canvas while supporting gradient colors, logo overlays, and export to both GIF and Lottie formats required careful architecture.
Learnings
Building CodeDusk deepened expertise in the Chrome Extension Manifest V3 architecture, particularly offscreen documents for screenshot processing and service worker lifecycle management. The canvas rendering pipeline taught valuable lessons about performance optimization with requestAnimationFrame and deterministic seeding for consistent animations. The project also reinforced the importance of progressive enhancement — features like clipboard copy and screenshot scanning need graceful fallbacks for different browser permission states.