How to create variable vCard, MeCard and other 2D codes using Templates

This article describes the use of the 2D Bar Code Module Template feature to create vCard, MeCard and other QR Code formats. Before proceeding with this article, you must be familiar with how to create a placeholder 2D bar code in an InDesign document. For more details, see Linear and 2D Bar Code Training Video and Resources.


Please see the video below for complete details about using the Template feature to create vCard and other QR Code formats. You may also download the sample document presented in this video if you would like to try it yourself.


When you create a 2D Bar Code, you must enter the data that you wish to encode into the Data edit box on the main window. Certain types of data rely upon a specific format that must be adhered to in order for the code to scan properly.

As an example, if you wish to encode Contact information in a QR Code for use with a business card, you might choose either the vCard or the MeCard format, both of which support this type of data. When the code is scanned by a smart phone, the contact information is read and used to populate a new contact entry on the device.

The Template button menu at the top of the 2D Bar Code dialog provides access to a selection of the most popular formats. Click this button and you will be prompted to select a Template style to edit. 

NOTE: Older versions of the software utilized a dropdown menu for the Template selection process. Please see the LEGACY section below if you are running an older version of the software.

Next, select the Template format you would like to create and click the Edit... button.

A form will be presented where you can enter data for each of the available parameters for the selected Template format. You can type in a static value (for example, type in a specific Company name if all records are for the same company), or if you wish to make the item variable, use the dropdown menu to select a variable link to use for the value. This will insert an Embedded Link reference for the parameter.

An embedded link reference is bracketed by the '<$' on the left and '>' on the right. The value for the link name will be swapped with data during the merge process. If you wish to omit a parameter, simply leave the entry blank in the form.

Click OK when ready, and you will be presented with a window that holds the raw code for creating the selected template.

At this point, you should copy/paste the resulting text into the Data area of the main window.

Finally, click OK to create the static, placeholder QR Code. You are now ready to make this a variable 2D code.


To make the code variable, create a new variable link that applies the Read 2D Bar Code Data function and then assign that variable link to the bar code frame. Alternatively, create a link rule to set the specific template data to use for the encoding and then assign any variable link and this new rule to the bar code frame. Please see the video for complete details.


If you are running an older version of the software that does not support the Read 2D Bar Code Data function, please use the instructions presented in this section.

The Template dropdown menu at the top of the 2D Bar Code dialog provides access to a selection of the most popular formats.

When you select a Template, the format will be placed in the Data box, as shown below:

A template generally holds a number of replaceable text parameters, which are bracketed by the '<$' on the left and '>' on the right. As an example, the MECARD, Basic format (shown above) requires <$Name>, <$Organization>, and a few others. These are placeholders where you should enter the information that you wish to be encoded inside the 2D bar code.

To create a static, placeholder QR Code in the selected format, you simply replace the placeholder text with actual values (for example: replace <$Name> with the text John Doe, and replace the text <$Organization> with the text ACME Corporation).

Note that if you are creating a variable QR Code using one of the template formats, there is no need to replace the text placeholders with actual data. This will be accomplished in the next section. For variable QR Codes, simply select the desired format and create the placeholder 2D bar code using the default placeholder text. Then you will then use a DesignMerge rule with Embedded Links to set the actual data values to be encoded.


For instructions on creating a variable vCard using the legacy Rules method, please see the video at the top of this page. The instructions provided in the video toward the end show how to utilize a Link Rule to create the variable vCard codes. Of course, to make things a bit easier you can always update your copy of the software to gain access to the Read 2D Bar Code Data function, which was released starting with Adobe InDesign 2023. This feature is discussed above and covered in the video as well.