Package qrcode implements a QR Code encoder.
A QR Code is a matrix (two-dimensional) barcode. Arbitrary content may be encoded, with URLs being a popular choice :)
Each QR Code contains error recovery information to aid reading damaged or obscured codes. There are four levels of error recovery: Low, medium, high and highest. QR Codes with a higher recovery level are more robust to damage, at the cost of being physically larger.
import qrcode "github.com/skip2/go-qrcode"
- Create a PNG image:
var png []byte png, err := qrcode.Encode("https://example.org", qrcode.Medium, 256)
- Create a PNG image and write to a file:
err := qrcode.WriteFile("https://example.org", qrcode.Medium, 256, "qr.png")
Both examples use the qrcode.Medium
error Recovery Level and create a 256x256 pixel, black on white QR Code.
The maximum capacity of a QR Code varies according to the content encoded and
the error recovery level. The maximum capacity is 2,953 bytes, 4,296
alphanumeric characters, 7,089 numeric digits, or a combination of these.
- http://en.wikipedia.org/wiki/QR_code
- ISO/IEC 18004:2006 - Main QR Code specification (approx CHF 198,00)
- https://github.com/qpliu/qrencode-go/ - alternative Go QR encoding library based on ZXing