This element generates a block consisting of numbered bubbles. When recognized, all marked bubbles form a single response. This is an OMR-specific approach to collecting numeric data, such as a TIN or phone number, or getting a response to a math test without the use of optical character recognition (OCR).

Grid element


The element is declared with ?grid=[name] statement. This statement must be placed on a separate line.

name property is used as an element’s identifier in recognition results and is displayed as a label on the form.


An attribute is written as [attribute_name]=[value]. Each attribute must be placed on a new line immediately after the opening ?grid= statement or another attribute, and must begin with a tab character.

Attribute Default value Description Usage example
sections_count 8 The maximum number of digits in the combined response. Each digit is represented as a column of bubbles. sections_count=7
options_count 10 The number of bubbles for each column. Bubble numbering always starts with 0. options_count=8

Recognition behavior

Numbers from each marked bubble are merged into a single number.

If several bubbles are marked in one row / column, they are also merged into a number with multiple digits. For example, if the respondent marks bubbles “3” and “7” in one row and “5” in another, the recognition result for the grid element will be “375”.

If this behavior is undesirable, instruct respondents to select only one bubble per column.


?grid=Convert decimal number 123 to octal

Horizontal grid example