Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QRForge

A QR code generator that runs entirely offline, with a QR encoder written from scratch — no libraries, no CDN, no tracking redirect in the middle of your codes.

Most free QR generators quietly wrap your URL in their redirect domain. If they go out of business or start charging, every code you already printed stops working. QRForge encodes your content directly into the QR symbol, so the code keeps working forever.

Features

  • Five content types, each producing a correctly formatted payload:
    • URL / plain text
    • Wi-Fi network (WIFI: — WPA / WEP / open, hidden networks, correct \ escaping)
    • Contact card (vCard 3.0)
    • Email (mailto: with URL-encoded subject and body)
    • SMS (SMSTO:)
  • All four error-correction levels (L / M / Q / H)
  • Custom foreground and background colours, with a WCAG contrast warning when the combination is likely to defeat scanners
  • Adjustable quiet zone (0–10 modules) and export size up to 2048 px
  • Download as PNG or SVG, or copy the SVG to the clipboard
  • Live readout of the chosen QR version, module count, mask pattern and payload size
  • Full UTF-8 support (accents, CJK, emoji)

The encoder

qr.js is a dependency-free QR Code encoder implementing:

  • Byte-mode encoding with UTF-8, versions 1–10, all four EC levels
  • GF(256) arithmetic and Reed–Solomon error correction
  • Correct block splitting and data/ECC interleaving for every version and level
  • Finder, separator, timing and alignment patterns; dark module; format and version information (BCH-encoded)
  • All 8 mask patterns, scored with the four standard penalty rules, with the best one chosen

It exposes QR.encode(), QR.toSvg() and QR.toCanvas(), and works in both the browser (window.QR) and Node (module.exports).

Verification

The encoder was validated by generating codes and decoding them back with jsQR, an independent decoder. All 17 cases pass — every EC level, versions 1 through 10, UTF-8 content, Wi-Fi/vCard/mailto payloads, the capacity ceiling, and a check that over-long input throws a clear error rather than emitting a corrupt symbol.

Run it

Open index.html. That's the whole install.

npx serve .    # optional, if you prefer a server

Monetization

Target customer: restaurants and cafés (menus), event organisers, real-estate agents, retail packaging, and marketing teams who print codes onto physical things.

  • Free — everything above. Static codes, unlimited, offline, no account.
  • Pro (~$7/month) — the parts that genuinely need a backend:
    • Dynamic codes — print once, change the destination forever. This is the real product; a reprint costs far more than the subscription, which makes the value obvious.
    • Scan analytics — count, time, city, device
    • Logo and frame branding at EC level H
    • Bulk generation from a CSV, exported as a ZIP (table tents, seat numbers, asset tags)
    • REST API for generating codes from your own backend

The free static generator is the funnel: it is genuinely the best free option because it is offline and never expires, and the moment a customer needs to change a printed destination they need Pro.

Tech

Vanilla JavaScript. Zero dependencies, zero build step, zero network calls.

Licence

MIT — see LICENSE.

About

Offline QR code generator with a from-scratch, dependency-free QR encoder. Wi-Fi, vCard, email and SMS payloads.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages