Native Barcode Generator for FileMaker User Manual

This user manual is for the native product that supports FileMaker Pro and FileMaker Go 12 & up; previous versions of FileMaker must use the 32 bit Native Generator Plug-in. Requires FileMaker Pro Advanced to embed the object within the database. Databases containing this object may only be distributed outside the licensed organization with the purchase of a Developer License.

Buy License Support Download Demo Release Log

Overview and Compatibility

This product is a set of FileMaker objects that generate barcodes without any other dependencies. It returns a high-resolution SVG image within a form or report. Once installed, no other components or fonts need to be installed to create barcodes; it is the complete barcode generator embedded within the database.

As an additional feature, a Custom Function Implementation is also provided for Code 128, Code 39, Codabar, MSI and ITF symbologies. The Custom Function Implementation allows barcode generation inside of a text field instead of an object.


  1. Extract or decompress the files from the package. To obtain the product, download the evaluation version or order the fully functional version.
  2. Open the example file included in the zip file and go to Layout mode, click on the barcode object in the example and copy, then go to the layout mode of your file and paste the barcode object into your database.
    Copy and paste the barcode object into your database.
  3. While in Layout mode, right-click on the barcode object, select Web Viewer Setup and make sure there is a check-in front of "allow interaction with web viewer content".
    Make sure web viewer content is interactive.
  4. While still in Web Viewer Setup, choose Specify or Specify Calculation. Notice that the DataToEncode line is set to the static text within quotation marks. 
    Specify Calculation Dialog
  5. Modify the DataToEncode line to equal the table and field that is to be encoded, eliminating the quotation marks. This will allow dynamic information from the field to be encoded as text within the symbol. Although GetAsText is not required, if you try to encode data from a number or date field an error may occur without it.
    Modify the DataToEncode line to equal the table and field that is to be encoded.
    • Text may also be appended or combined with quotation marks; for example, to encode "~1" before the field:
      DataToEncode = GetAsText( "~1" & ProductTable::GS1Number)
    • Multiple fields may also be encoded in the same symbol and combined with static data; for example, the following encodes static data and two fields placing a tab function between them:
      DataToEncode = GetAsText( "TEXT" ProductTable::Field1 & "~d009" & ProductTable::Field2)
  6. If necessary, parameters may be modified in the options area. Sizes such as QuietZone, XDimensionPoints and ModuleSize are in increments of 0.03CM or 12 mils. For example, a ModuleSize of 3 would be approximately 0.1CM or 36 mils.
  7. Change to browse mode and verify the object updates dynamically with the data field. If it does not, verify the table and field are accurate and remove comment characters "*/" if they were added to the beginning and ending of the code. These comment characters are sometimes added after pasting the object into a new database when a specified field does not exist.
    Remove comment characters "*/" if they were added.
  8. Change to browse mode and verify the object updates dynamically with the data field.
  9. If a security error is received restricting the view, right-click on the object and agree to the security warning by choosing "Allow Blocked Content".
    Be sure to Allow Blocked Content in the barcode object.
  10. In some cases, other information on a form may be blocked out because of automatic autosizing. To solve this, switch to Layout mode, choose the barcode object and choose View - Inspector or CTRL-I. Locate the Autosizing section to disable the offending autosizing areas.
    Disable the offending autosizing areas.
  11. If necessary, change parameters at the top section of the code; "1" is True and "0" is False.
  12. If it is necessary to show the text interpretation below the barcode, ensure the ShowHRText option is set to "1". To automatically format and show GS1 HRI in 2D symbols, open the GS1 version of the product and paste the HRI object into the database in the same way as the barcode object. If necessary, refer to the example provided in the download.
    Showing the text interpretation below the barcode.
    If the Human Readable text needs to be increased in size, set ShowHRText = 0 and then manually add a separate text field.  This is because the Human Readable text is tied to the barcode object image and can not be adjusted independently.

Functions and Parameters

DataToEncode is the only required parameter in the functions provided. Optional parameters may be changed by modifying the top section of the code as demonstrated in step 5 above.

The following is an explanation of popular parameters:

  • ApplyTilde - Processes the tilde character for special functions such as encoding functions, encoding ASCII characters directly or generating GS1-128, GS1-DataMatrix or GS1-QRCode symbols.
  • ModuleSize | XDimensionPoints - The X Dimension in increments of 0.03CM or 10 mils. For example, a ModuleSize of 3 would be approximately 0.1CM or 30 mils.
  • QuietZone - White space added around the symbol in increments of 0.03CM or 10 mils.
  • Font | FontSize - Valid for the HRI object only, defines the font and size.
  • GS1 Encoding Options - The FNC1 may be encoded with ~202 in Code 128 and ~1 in GS1-DataMatrix or GS1-QRCode when the tilde option is enabled. The FNC1 may also be encoded by surrounding the AI in parentheses in Code 128.
  • HRI Options - When using the HRI object, multiple GS1 fixed length element strings are automatically displayed.
    GS1-128 encoding: ~20201095011010209171719050810ABCD1234
    GS1-128 JavaScript Example
    GS1-DataMatrix encoding: ~101095011010209171719050810ABCD1234
    GS1-DataMatrix JavaScript Example
  • Tilde Options - enabling ApplyTilde or ProcessTilde will allow the following calculation options where ?? is the number of digits before the tilde to include in the calculation:
    • ~m?? calculates a MOD10 check character, commonly used for GS1.
      Example: ~2020000801234999999999~m17  HIBC JavaScript Example
      Encodes: (00) 008012349999999997
    • ~f?? calculates a MOD43 check character, commonly used for HIBC.
      Example: +A123BJC5D6E71~f14
      Encodes: +A123BJC5D6E71G
    • ~i?? calculates a MOD37-2 check character, commonly used for ISBT.
      Example: G123412654321~i13
      Encodes: G123412654321L
    • ~k?? calculates a MOD37-2 check character in brackets, commonly used for ISBT manual entry. This option will not encode the check character within the barcode and should only be used in Code 128 or within the HRI object.
      Example: G123412654321~k13
      Encodes: G123412654321 [L]
  • Tilde ASCII Encoding - ASCII functions and characters may be directly encoded with ~??? in Code 128 and ~d??? in Data Matrix and QR Code where ??? is a 3 digit number of the ASCII code as shown in step 4 of the tutorial.

Encoding ASCII Functions (such as Tabs & Returns)

In all IDAutomation products, the tilde (~) may be used to encode ASCII functions. For example; ~d009 is used to encode a tab and ~d013 encodes a return.

Technical Support

Priority phone, email and forum support is provided up to 30 days after purchase. Additional priority phone, email and forum support may be obtained if the Priority Support and Upgrade Subscription is active.

Common Problems and Solutions:

  • If the barcode is truncated, looks corrupted or does not appear completely, resize or increase the width or height of the barcode object.
  • If scanning problems are encountered with small barcode sizes, verify a printer of 300 DPI or greater is being used. An X dimension of 16 MILS or greater should be used with low resolution thermal 203 DPI printers. IDAutomation also offers many barcode fonts that print well to low-resolution thermal printers. Additionally, verify the scanner being used is able to read small barcodes.
  • If barcodes do not scan at the default settings, check to make sure that barcode type is enabled in the scanner and that there is sufficient white space surrounding the barcode. Additional solutions are provided in the Barcode will not scan KB article.
  • Additional problems and solutions are provided at IDAutomation's barcode font troubleshooting site and by searching resolved public forum threads.

Popular Forum Post Resolutions:

Other Barcode Information

Related Information: