Code Printing Best Practices

ZapWorks allows you to use zapcodes and QR codes as triggers that launch your AR experience.

Regardless of the method being used, there are some best practices to keep in mind to ensure your codes are easily scannable, outlined below.


When determining the size of your code, it's important to consider the context in which a user might encounter your target image and the distance from which they are likely to be scanning. Correct sizing of the code will increase both its visibility to the user and detection from the app when scanned.

Context is one of our three C's for creating successful campaigns, find out more here.

QR codes

  • At a minimum, QR codes must be 10mm wide.
  • We recommend your code is at least 12mm to increase the likelihood of successful recognition by a wide range of devices and QR code scanners.
  • We recommend that a QR code be 20% of the largest value of its target image's dimensions eg. considering a 200mm by 300mm image, the QR code should be 20% of the 30cm value, therefore 60mm wide.
  • The scanning distance to code size ratio is 10:1 eg. if a user is scanning a QR code from a distance of 10 meters, the QR code would need to be 1 meter wide.

The guidelines above apply to QR codes generated by ZapWorks. Further information on QR code sizing can be found on external sites.

Recommended QR code to target image ratio.


  • At a minimum, zapcodes must be 7mm in diameter.
  • We recommend that a zapcode's diameter be 7% of the largest value of its target image's dimensions eg. considering a 200mm by 300mm image, the QR code should be ~7% of the 30cm value, therefore 21mm wide.
  • The scanning distance to code size ratio is 30:1 eg. if a user is scanning a zapcode from a distance of 10 meters, the zapcode would need to be 0.33 meters wide.

Recommended zapcode to target image ratio.


Both the reflectivity of the surface that a code is printed on and the lighting of the environment it is placed in will affect how easily it can be detected by the scanning app and subsequently, how well it will track.

Matte, non-reflective surfaces will provide better tracking than glossy, reflective surfaces, which are likely to produce highlights on the code and/or target image.

Environmental lighting is also an important consideration. Ensuring that a code and its target image are well-lit will increase the likelihood of successful scanning and tracking.

Flat surfaces will maximize how much of the target will be visible in the camera view, whereas surfaces with extreme curvatures, such as bottles, will obscure large parts of the code and/or target, negatively affecting scanning and tracking.

Always test your printed target and code in a variety of environments before sending to print or publishing.


Both zapcodes and QR codes can be slightly modified to integrate into an existing design. Zapcodes can be embedded into a design whereas some QR code generators allow you to embed a design into the code itself.

Each code is best served with an effective Call To Action, which prompts the user to activate AR content.

Regardless of the design of the code itself, a clear call-to-action (CTA) is strongly recommended. You can find out more about CTAs in this article.


Customized zapcode designs must adhere to the following:

  • A zapcode's background must contrast against its foreground.
  • The code must not be inverted.
  • The whole zapcode must be clear of marks to be scannable.
  • Replacing or altering the lightning bolt in the center of the zapcode will render it unreadable.

For custom code solutions please get in touch.

An example of a customised zapcode. Not scannable.

More customization options can be found in our Advanced Zapcode Customisation article.

QR Codes

In order to understand QR code design limitations, please note the following:

  • The individual white and black squares on a QR code are known as modules.
  • The three larger squares located in the corners of a QR code indicate the orientation from which the QR code should be scanned.

Customized QR designs must adhere to the following:

  • The code should not be inverted, as it makes it difficult for QR code readers to scan.
  • A QR code must have a safe area of at least 4 modules in length around it on the image it sits on.
  • There must be sufficient contrast between the background and foreground of a QR code.
  • If the color of the QR code is changed, black modules should be kept a darker hue and white modules a lighter one.

To find out more about general QR code customization, you can refer to this article.

An example of a customised QR code. Not scannable.

QR codes have an error-correction feature that allows data to be restored if the code is dirty or damaged.

QR codes generated by ZapWorks are 26 x 26 modules, with an Error Handling Level of L (7%).

While third-party QR code generators may offer additional customization options, we recommend increasing the error handling level to H (30%) if doing so to allow for more modules to be damaged yet readable.

To generate a QR code from an external site you will need a project's deep link. A deep link trigger can be added to a project from the Triggers tab.


How can I replace the Zappar logo in my zapcode?

Custom zapcodes are available as part of an Add-on to an active subscription. To find out more, please read our Workspace Plans article.

How can I point my QR code to a different site before pointing it to a finished AR experience?

We recommend using a link redirection service, like, to create a redirectable link. Once a QR code is generated from the redirectable link, the destination of a QR code can be changed at will.

Am I able to track Google Analytics to my QR code?

Google Analytics can be added to a QR code by first retrieving the project's deep link URL. After a UTM code is added to the end of the URL, a QR code can be generated from the whole URL. We recommend the use of a link redirection service to ensure that changes made to the UTM or the URL does not affect the appearance of your QR code.

zapcode branded_zapcode i