How To Generate Qr Code In Php

QR codes have become an essential tool in our daily lives, thanks to their ability to
store and share various types of data, such as URLs, contact information, or even plain text. In this article, we’ll go through the process of generating QR codes using PHP. We’ll be utilizing the popular library phpqrcode to achieve this.

Step 1: Download and Install the phpqrcode Library

The first thing we need to do is download the phpqrcode library. You can find it on
the GitHub repository at Download the library as a ZIP file and extract its contents to your project directory.

Step 2: Include the Library in Your PHP Script

Now that we have the library in our project directory, we can include it in our PHP script using the require_once function. Add the following line at the beginning of your PHP script to include the library:

require_once 'phpqrcode/qrlib.php';

Step 3: Generate the QR Code

With the library included, we can now generate a QR code. Let’s create a simple PHP script that generates a QR code containing the URL of a website. Our script will save the generated QR code as an image file.

require_once 'phpqrcode/qrlib.php';

$data = '';
$filename = 'qrcode.png';

QRcode::png($data, $filename);

echo '<img src="' . $filename . '" />';

In this script, we first include the phpqrcode library, then we define the data we want to store in the QR code (in this case, a URL) and the filename for the output image. Next, we call the QRcode::png() method to generate the QR code and save it as an image file. Finally, we output the generated image using an <img> tag.

Step 4: Customize the Appearance of the QR Code (Optional)

The QRcode::png() method provides several options for customizing the appearance of the generated QR code. These options include the error correction level, module size, and margin size. Here’s an example of how to customize these options:

require_once 'phpqrcode/qrlib.php';

$data = '';
$filename = 'qrcode_custom.png';
$errorCorrectionLevel = 'L'; // available options are L, M, Q, H
$moduleSize = 5; // size of each QR code module (pixel)
$marginSize = 2; // size of QR code margin (module)

QRcode::png($data, $filename, $errorCorrectionLevel, $moduleSize, $marginSize);

echo '&lt;img src="' . $filename . '" /&gt;';

In this example, we’ve set the error correction level to ‘L’ (Low), the module size to 5 pixels, and the margin size to 2 modules. Experiment with these options to create a QR code that suits your needs.


Generating QR codes in PHP is quite straightforward with the help of the phpqrcode library. With just a few lines of code, you can generate dynamic QR codes that store different types of data. To learn more about the library and its features, check out the official documentation at