The Global Language of Business

GS1 barcode syntax resource

The GS1 Barcode Syntax Resource is a collection of assets that aims to help the GS1 user community to improve data quality and accurately convert between the different GS1 data syntaxes used with 1D and 2D barcodes in the GS1 system. By offering the tools required by solution providers to easily adopt and correctly implement GS1 standards, as well as a consistent way to stay aligned to GS1 standards as they are created and updated, industry and the broader GS1 user community can leverage the full benefits of using any barcode or syntax from the GS1 system and work towards the global migration to 2D barcodes.

Consisting of the following three components, the GS1 Barcode Syntax Resource can be integrated directly to an application's code base or simply used as a reference for transliteration into third-party code as required by the solution's build system:

GS1 Barcode Syntax Dictionary
A simple text file that lists all currently assigned GS1 Application Identifiers (AI) and the components required to form a valid GS1 data syntax.
GS1 Barcode Syntax Tests
A set of files, written in the C programming language, a machine-independent type of code that provides instructions to perform a series of analytical actions. For software developers and programmers, GS1 Barcode Syntax Tests are formally known as 'linters'.
GS1 Barcode Syntax Engine
An example of the harmonised framework required to 'run' the GS1 Barcode Syntax Dictionary and GS1 Barcode Syntax Tests. Serves as a reference for one of the many ways the resources could be implemented. See the web browser demo app, using the WebAssembly build and API documentation.

Futher information on each of the GS1 Barcode Syntax Resource components can be found in the user guide. The main GS1 website includes a web browser demo app, using the JavaScript build, enbaling users to experience the features provided by the BSR. Please note, technical users can also refer to the in-built technical documentation provided directly in the source files. Issues may be raised in GitHub.