A high-performance and highly customizable QR code generator for PHP, maintained by Skywalker Labs. Supports various output formats and provides a robust API for building advanced QR code solutions.

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/skywalker-labs/qr-code

v1.0.0 2026-02-07 13:21 UTC

This package is auto-updated.

Last update: 2026-02-07 14:07:20 UTC


README

PHP CI Latest Stable Version Total Downloads License

Introduction

Skywalker QR Code represents a high-performance and highly customizable QR code generator for PHP, maintained by Skywalker Labs. It is a port of the QR code portion of the ZXing library, featuring an optimized Reed Solomon codec implementation for PHP.

Example usage

use Skywalker\QrCode\Renderer\ImageRenderer;
use Skywalker\QrCode\Renderer\Image\ImagickImageBackEnd;
use Skywalker\QrCode\Renderer\RendererStyle\RendererStyle;
use Skywalker\QrCode\Writer;

$renderer = new ImageRenderer(
    new RendererStyle(400),
    new ImagickImageBackEnd()
);
$writer = new Writer($renderer);
$writer->writeFile('Hello World!', 'qrcode.png');

Available image renderer back ends

Skywalker QrCode comes with multiple back ends for rendering images. Currently included are the following:

  • ImagickImageBackEnd: renders raster images using the Imagick library
  • SvgImageBackEnd: renders SVG files using XMLWriter
  • EpsImageBackEnd: renders EPS files

GDLib Renderer

GD library has so many limitations, that GD support is not added as backend, but as separated renderer. Use GDLibRenderer instead of ImageRenderer. These are the limitations:

  • Does not support gradient.
  • Does not support any curves, so you QR code is always squared.

Example usage:

use Skywalker\QrCode\Renderer\GDLibRenderer;
use Skywalker\QrCode\Writer;

$renderer = new GDLibRenderer(400);
$writer = new Writer($renderer);
$writer->writeFile('Hello World!', 'qrcode.png');

Development

To run unit tests, you need to have Node.js and the pixelmatch library installed. Running npm install will install this for you.