QR Code Generator API
A QR code and barcode generation API that returns a base64-encoded PNG or SVG in a single call. It supports symbologies ranging from QR codes to EAN-13, and includes a default quiet zone and high error correction levels for QR codes to suit real-world scanning environments.
Timeline (last 90 days)
A developer built a QR code/barcode generation API that returns a base64-encoded PNG or SVG in a single call, supporting multiple symbologies from QR codes to EAN-13.
OpenCV QRCodeDetector returns empty results for QR code images whose quiet zone has been cropped, while the developer's test suite can decode 100% of all outputs.
The developer had previously cropped the PNG tightly to the outer positioning patterns, believing that padding was the caller's layout responsibility.
The fixes include: the API now includes a 4-module margin by default (configurable), CI renders on synthetic backgrounds with dark adjacency, and decoding is performed with two independent libraries, with release only after passing.
For any use that involves printing, the developer now uses level Q by default.
The project was ultimately packaged as QR Code Generator API, and the default margin setting solidified the lesson of the 4-module quiet zone.
All Facts (6)
A developer built a QR code/barcode generation API that returns a base64-encoded PNG or SVG in a single call, supporting multiple symbologies from QR codes to EAN-13.
50%UnverifiedThe developer had previously cropped the PNG tightly to the outer positioning patterns, believing that padding was the caller's layout responsibility.
50%UnverifiedFor any use that involves printing, the developer now uses level Q by default.
50%UnverifiedThe project was ultimately packaged as QR Code Generator API, and the default margin setting solidified the lesson of the 4-module quiet zone.
50%UnverifiedOpenCV QRCodeDetector returns empty results for QR code images whose quiet zone has been cropped, while the developer's test suite can decode 100% of all outputs.
50%UnverifiedThe fixes include: the API now includes a 4-module margin by default (configurable), CI renders on synthetic backgrounds with dark adjacency, and decoding is performed with two independent libraries, with release only after passing.
50%