With Microsoft Office Word 2013 and newer its possible to create nativly the following bar codes:
- QR (2D QR Code)
- CODE128 (Code 128 linear bar code)
- CODE39 (Code 39 linear bar code)
- JPPOST (Japanese Postal Service Customer barcode)
- EAN8 or EAN13 (EAN - International Article Number worldwide bar code)
- JAN8 or JAN13 (Japanese barcode for product ID’s)
- UPCA|UPCE (US barcode for product ID’s)
- ITF14 (ITF-14 item-tracking barcode for shipping)
- NW7 (NW-7 (CODABAR) serial number bar code )
- CASE ( barcode for tracking USPS mail)
Steps
- Create Word 2013 or newer document
- Create empty merge field with [CTRL]+[F9]
- You should see two curly brackets at this point. If not, toggle display merge fields with [ALT]+[F9]. Adding the brackets manually does not work, because Word does not recognize it as a function!
- Insert the
DISPLAYBARCODE-function and the right switches into the merge field (into the two curly brackets):
DISPLAYBARCODE field-argument-1 field-argument-2 [ switches ]field-argument-1is a quoted string containing the data (barcode-data) used to generate the barcode symbolfield-argument-2is a text string containing the type of barcode (barcode-type) that will be generated. Valid are in the list above (case-insensitive).
Example:
DISPLAYBARCODE "My n!ce QR code" QR \s 50 \q 3
* DISPLAYBARCODE = barcode function
* "My n!ce QR code" = barcode data
* QR = barcode type
* \s 50 = scaling factor in percent. Valid values from 10 to 1000.
* \q 3 = error correction level. Valid values (case insensitive) are [L|M|Q|H]
More information, also for the switches, you could find in the Microsoft Docs: [MS-OI29500]: DISPLAYBARCODE.

I didn’t realize Word 2013+ had native barcode support built in—that’s really handy for avoiding third-party plugins. The range of formats they support is impressive, from QR codes all the way to specialized ones like JPPOST and ITF14 for shipping. I’m curious whether the merge field approach they mention makes it easy to generate barcodes dynamically from data sources, or if there’s a learning curve to set up.