qrforge is a local, watermark-free QR code generator with full visual customization.
Default QR codes are boring black-and-white squares. qrforge lets you create
branded, styled QR codes with rounded modules, custom colors, gradients,
embedded logos, and more -- entirely offline, no tracking, no watermarks.
- 4 module styles: square, rounded, dots, diamond
- Color & gradient support: solid fills or diagonal gradients
- Logo embedding: overlay your brand logo in the center
- Multiple formats: PNG, SVG, ASCII art
- Batch generation: generate hundreds from a CSV file
- Error correction: L / M / Q / H levels
- 100% local: no network calls, no data leaves your machine
pip install qrforgegit clone https://github.com/izag8216/qrforge.git
cd qrforge
pip install -e ".[dev]"qrforge generate "https://example.com" -o qr.pngqrforge generate "https://example.com" -o qr.png \
--style rounded \
--color "#2D5A27" \
--background "#f0fdf4"qrforge generate "https://example.com" -o qr.png \
--gradient "#ff0000-#0000ff"qrforge generate "https://example.com" -o qr.png \
--logo brand.png \
--error-correction Hqrforge generate "https://example.com" -o qr.svg --style dotsqrforge generate "https://example.com" -o qr.txt --asciiCreate urls.csv:
data,filename,style,color
https://a.com,a,square,#000000
https://b.com,b,rounded,#ff0000Run:
qrforge batch urls.csv -o ./output/ --format pngqrforge generate [OPTIONS] DATA
Options:
--style [square|rounded|dots|diamond]
--color TEXT Foreground color (hex)
--background TEXT Background color (hex)
--gradient TEXT Gradient '#color1-#color2'
--error-correction [L|M|Q|H]
--size INTEGER Output size in pixels
--logo PATH Logo image path
--logo-ratio FLOAT Logo size ratio
-o, --output PATH Output file (required)
--ascii Output ASCII art
--help Show this message and exit.
from qrforge.generator import create_qr_code
from qrforge.renderer import render_png
from qrforge.styles import ModuleStyle
qr = create_qr_code("https://example.com", error_correction="H")
img = render_png(
qr,
style=ModuleStyle.ROUNDED,
color="#2D5A27",
background="#ffffff",
size=512,
)
img.save("qr.png")pip install -e ".[dev]"
pytestMIT License -- see LICENSE file.
Third-party licenses: THIRD_PARTY_LICENSES.md
See CONTRIBUTING.md.