QRCode

Capable of containing virtually any data desired.
Popular for its use in mobile tagging and data sharing.
Can contain large amounts of data and can be spread throughout multiple barcodes.
Micro and Standard versions can be used to vary the size of the barcode.

Demonstration

* 200 character limit for this demo.

<?php
require_once('class/BCGColor.php');
require_once('class/BCGDrawing.php');
require_once('class/BCGqrcode.barcode2d.php');

$colorFront = new BCGColor(0, 0, 0);
$colorBack = new BCGColor(255, 255, 255);

// Barcode Part
$code = new BCGqrcode();
$code->setScale(3);
$code->setSize(BCGqrcode::QRCODE_SIZE_FULL);
$code->setErrorLevel(1);
$code->setMirror(false);
$code->setErrorLevel(23);

$code->setColor($colorFront, $colorBack);
$code->parse('QRCode');

// Drawing Part
$drawing = new BCGDrawing('', $colorBack);
$drawing->setBarcode($code);
$drawing->draw();

header('Content-Type: image/png');

$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>

Technical Specifications

The QRCode symbol is an ISO international standard (IEC 18004). You are allowed to use it withinin your applications.

The QRCode code is a 2D barcode that can encode a large amount of information within a square symbol. All 256 characters can be encoded.
You may use multiple symbols to spread your information in order to create a bigger message.

This barcode contains a way to detect and correct errors based on the Reed Solomon algorithm. You can use L, M, Q, or H which recovers respectively, approximately 7%, 15%, 25% and 30%. The advised quality is M (15%).

Sizes

Show only:
Show only:
Table: Size and capacity for an QRCode
Capacity
Version Error Numeric Alphanumeric Binary
1 Micro L 5 - -
2 Micro L 10 6 -
2 Micro M 8 5 -
3 Micro L 23 14 9
3 Micro M 18 11 7
4 Micro L 35 21 15
4 Micro M 30 18 13
4 Micro Q 21 13 9
1 L 41 25 17
1 M 34 20 14
1 Q 27 16 11
1 H 17 10 7
2 L 77 47 32
2 M 63 38 26
2 Q 48 29 20
2 H 34 20 14
3 L 127 77 53
3 M 101 61 42
3 Q 77 47 32
3 H 58 35 24
4 L 187 114 78
4 M 149 90 62
4 Q 111 67 46
4 H 82 50 34
5 L 255 154 106
5 M 202 122 84
5 Q 144 87 60
5 H 106 64 44
6 L 322 195 134
6 M 255 154 106
6 Q 178 108 74
6 H 139 84 58
7 L 370 224 154
7 M 293 178 122
7 Q 207 125 86
7 H 154 93 64
8 L 461 279 192
8 M 365 221 152
8 Q 259 157 108
8 H 202 122 84
9 L 552 335 230
9 M 432 262 180
9 Q 312 189 130
9 H 235 143 98
10 L 652 395 271
10 M 513 311 213
10 Q 364 221 151
10 H 288 174 199
11 L 772 468 321
11 M 604 366 251
11 Q 427 259 177
11 H 331 200 137
12 L 883 535 367
12 M 691 419 287
12 Q 489 296 203
12 H 374 227 155
13 L 1022 619 425
13 M 796 483 331
13 Q 580 352 241
13 H 427 259 117
14 L 1101 667 458
14 M 871 528 362
14 Q 621 376 258
14 H 468 283 194
15 L 1250 758 520
15 M 991 600 412
15 Q 703 426 292
15 H 530 321 220
16 L 1408 854 586
16 M 1082 656 450
16 Q 775 470 322
16 H 602 365 250
17 L 1548 938 644
17 M 1212 734 504
17 Q 876 531 364
17 H 674 408 280
18 L 1725 1046 718
18 M 1346 816 560
18 Q 948 574 394
18 H 746 452 310
19 L 1903 1153 792
19 M 1500 909 624
19 Q 1063 644 442
19 H 813 493 338
20 L 2061 1249 858
20 M 1600 970 666
20 Q 1159 702 482
20 H 919 557 382
21 L 2232 1352 929
21 M 1708 1035 771
21 Q 1224 742 509
21 H 969 587 403
22 L 2409 1460 1003
22 M 1872 1134 779
22 Q 1358 823 565
22 H 1056 640 439
23 L 2620 1588 1091
23 M 2059 1248 857
23 Q 1468 890 611
23 H 1108 672 461
24 L 2812 1704 1171
24 M 2188 1326 911
24 Q 1588 963 611
24 H 1228 744 511
25 L 3057 1853 1273
25 M 2395 1451 997
25 Q 1718 1041 715
25 H 1286 744 511
26 L 3283 1990 1367
26 M 2544 1542 1059
26 Q 1804 1094 751
26 H 1425 864 593
27 L 3517 2132 1465
27 M 2701 1637 1125
27 Q 1933 1172 805
27 H 1501 910 625
28 L 3669 2223 1528
28 M 2857 1732 1190
28 Q 2085 1263 868
28 H 1581 958 658
29 L 3909 2369 1628
29 M 3035 1839 1264
29 Q 2181 1322 908
29 H 1677 1016 698
30 L 4158 2520 1732
30 M 3289 1994 1370
30 Q 2358 1429 982
30 H 1782 1080 742
31 L 4417 2677 1840
31 M 3486 2113 1452
31 Q 2473 1499 1030
31 H 1897 1150 790
32 L 4686 2840 1952
32 M 3693 2238 1538
32 Q 2670 1618 1112
32 H 2202 1226 842
33 L 4965 3009 2068
33 M 3909 2369 1628
33 Q 2805 1700 1168
33 H 2157 1307 898
34 L 5253 3183 2188
34 M 4134 2506 1722
34 Q 2949 1787 1228
34 H 2301 1394 958
35 L 5529 3351 2303
35 M 4343 2632 1809
35 Q 3081 1867 1283
35 H 2361 1431 983
36 L 5836 3537 2431
36 M 4588 2780 1911
36 Q 3244 1966 1351
36 H 2524 1530 1051
37 L 6153 3729 2563
37 M 4775 2894 1989
37 Q 3417 2071 1423
37 H 2625 1591 1093
38 L 6479 3927 2699
38 M 5039 3054 2099
38 Q 3599 2181 1499
38 H 2735 1658 1139
39 L 6743 4087 2809
39 M 5313 3220 2213
39 Q 3791 2298 1579
39 H 2927 1774 1219
40 L 7089 4296 2953
40 M 5596 3391 2331
40 Q 3993 2420 1663
40 H 3057 1852 1273

Details

The QRCode exists in two modes, Micro and Full. Micro allows you to encode information in a restricted size. The Micro barcode is composed of one finder pattern, whereas the Full contains three finder patterns.

Micro Code
Full Code

There are 4 types of characters that can be encoded. Each of them is encoded with different number of bits. Note that the alphanumeric type doesn't contain lowercase letters. If you wish to encode lowercase letters, it will be encoded using the byte type. Barcode Bakery will always attempt to generate the smallest bitstream possible while conserving all your data. The types are listed below in size order.

  • Numeric: Encodes digits, [0-9]. Normally, 3 digits represent 10 bits.
  • Alphanumeric: Encodes 45 characters. [0-9] [A-Z] [SPACE] $ % * + - . / : (no comma). Normally, two characters represent 11 bits.
  • Binary: Encodes ASCII characters 0 to 255. Encoded on 8 bits.
  • Kanji: Not supported in this release.

QRCode applies a mask to your data in order to make it better readable for the barcode reader. The operation of searching the best mask is extremely CPU consuming. It is possible to force that a mask not be applied, in which case, your barcode will be generated faster, but may be harder to read for the barcode reader. See the method setMask() for more details.

Barcode Bakery Supports

Supports
Encodes Characters, Numbers, Binary Available
Encodes on many codes (Structured Append) Available
Encodes FNC1 Available
Extended Channel Interpretation (Arabic, Hebrew, etc.) Available
Encodes Kanji
Specific to .NET package
.NET 2.0+ Available