Skip to content

[PROPOSAL] - QR Code Generator #22

@github-actions

Description

@github-actions

Existing Coverage Check

Reviewed before proposing:

This is net-new. QR code generation has no existing spec, issue, or live tool in this repo. It is directly cited as a style guide example for the target opportunity shape in the project's intelligence brief, and the paid-customization problem is well-established in this category. Spec draft created at specs/004-qr-code-generator/spec.md.


Specify Draft Summary

Proposed spec path: specs/004-qr-code-generator/spec.md

Problem: Every user who needs a styled QR code — one with custom colors, rounded corners, or a branded look — hits a paywall. Basic black-and-white QR generation is free everywhere, but the moment users want to customize colors or download a high-resolution/SVG version, tools like QR Code Generator (.com) and QR Code Monkey push them to paid plans ($5–$15/month). Non-technical users (event organizers, small business owners, teachers) are the primary audience being charged for what is trivially achievable in the browser.

Users: Event organizers, small business owners, educators, marketers, non-technical users who want a styled QR code for a flyer, menu, or signage — without paying or creating an account.

Scope (3 prioritised stories):

Priority Story Description
P1 Generate QR from URL or Text Type content → instant QR preview → download PNG or SVG, no watermark
P2 Customize Appearance Color picker for foreground/background, error correction level, output size — live preview
P3 Structured Content Types WiFi network, vCard contact, SMS — fill labeled fields, tool encodes format automatically

Key requirements: real-time generation (no submit button), PNG and SVG download, zero watermark, foreground/background color pickers, error correction selector, output size control, reset to defaults, WiFi/vCard/SMS structured templates, unreadability warnings, 100% browser-local.

Acceptance criteria:

  • SC-001: Zero bytes of user input transmitted to any server
  • SC-002: QR code visible within 200 ms of typing starting
  • SC-003: Downloaded files contain no watermark or attribution
  • SC-004: Generated codes scan on iOS and Android in 9/10 test cases across URL, WiFi, vCard
  • SC-005: Non-technical user generates and downloads styled QR in under 60 seconds

The Gap

Basic QR generation is free everywhere — but the moment a non-technical user wants to customize the look of a QR code for a real-world use case (colored to match their branding, SVG for printing, WiFi auto-connect for a café sign), the paywall appears:

  • qr-code-generator.com: Standard tier is free but black-and-white only; colored and styled QR codes are "Pro" at $5.40/month.
  • qrcodemonkey.com: Limited resolution on free tier; high-res PNG and custom shapes require the "Pro" plan at $6.95/month.
  • flowcode.com: Requires account even for basic generation; "Dynamic" QR (editable destination) starts at $10/month.
  • QR Tiger: Free tier adds their watermark to downloads; full customization behind paywall.

The customization features are pure client-side rendering. There is no technical reason they require a subscription — it is purely a monetization gate.

Competitor Evidence

Tool Problem
qr-code-generator.com Color/style customization behind $5.40/month Pro plan
qrcodemonkey.com High-res download and custom shapes behind $6.95/month
flowcode.com Requires account for all tiers; dynamic QR from $10/month
QR Tiger Watermark added to free downloads; customization behind paywall
Canva QR Requires Canva account; part of broader subscription funnel

Search phrases users type: qr code generator free, custom qr code generator free no watermark, qr code generator no account, wifi qr code generator, colored qr code free, qr code svg download free

The Tech

API / Capability Role
qrcodejs / qrcode (vendored) Core QR code generation — encodes payload into QR matrix
Canvas API Render QR with custom colors; export to PNG Blob
SVG serialization Export QR as SVG from the DOM element
Clipboard API Copy QR image or URL to clipboard
Blob + URL.createObjectURL Trigger local PNG/SVG download

Ships as tools/qr-code-generator.html + tools/qr-code-generator/main.js + tools/qr-code-generator/style.css. The QR encoding library is small (~15 KB) and easily vendored.

Usability Controls

  • Live preview: QR updates instantly as the user types — no submit button
  • Color pickers: Foreground and background color, with a color swatch + hex input
  • Error correction selector: Low / Medium / Quartile / High with plain-language descriptions
  • Output size slider: Set PNG resolution (e.g., 200–2000 px) before download
  • Format download buttons: "Download PNG" and "Download SVG"
  • Reset to Defaults: Black-on-white, medium error correction, 512 px
  • Structured templates: WiFi (SSID, password, security type), vCard (name, phone, email), SMS (phone, message) — each with labeled form fields
  • Unreadability warning: Alert if foreground and background colors are too similar or input exceeds QR capacity for chosen error correction level
  • Works offline: No network requests required after initial page load

Complexity: 2 / 10

QR encoding is handled entirely by a vendored library. The main implementation work is the custom color rendering (Canvas paint pass over the generated QR matrix), the structured template forms, and the SVG export path. No binary pipelines, no WASM, no Web Workers needed.

Generated by Market Research Discovery ·

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions