Sample code for 30+ languages & platforms
PHP Requires Chilkat v11.7.0+

Embed a QR Code in HTML as a Data URI

See more QR Code Examples

Demonstrates putting a QR code directly into an HTML page or HTML email with no separate image file. The base64 PNG returned by QrCode becomes the src of an img tag as a data URI, which is the MIME type from outputs[0].mimeType followed by the base64 from outputs[0].base64.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Formats;
use Chilkat2\JsonObject;
use Chilkat2\StringBuilder;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$json = new JsonObject();
$json->UpdateString('payload.text', 'https://www.chilkatsoft.com/');
$json->UpdateInt('render.moduleSize', 5);

$fmt = new Formats();
$jsonOut = new JsonObject();
try {
    $fmt->QrCode('generate', $json, $jsonOut);

    // A data URI has the form  data:<MIME type>;base64,<base64 data>
    $sbHtml = new StringBuilder();
    $sbHtml->Append('<html><body><p>Scan to visit chilkatsoft.com</p><img alt="QR code" width="');
    $sbHtml->AppendInt($jsonOut->IntOf('outputs[0].width'));
    $sbHtml->Append('" height="');
    $sbHtml->AppendInt($jsonOut->IntOf('outputs[0].height'));
    $sbHtml->Append('" src="data:');
    $sbHtml->Append($jsonOut->StringOf('outputs[0].mimeType'));
    $sbHtml->Append(';base64,');
    $sbHtml->Append($jsonOut->StringOf('outputs[0].base64'));
    $sbHtml->Append('"></body></html>');

    $sbHtml->WriteFile('qa_output/qr_page.html', 'utf-8', false);
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

echo 'image: ', $jsonOut->IntOf('outputs[0].width'), ' x ', $jsonOut->IntOf('outputs[0].height'), " pixels\n";
echo 'HTML length: ', $sbHtml->Length, "\n";

// The page, as a browser shows it:

// image

// Sample output:

// image: 185 x 185 pixels
// HTML length: 1211