A method comprising: receiving, by a computing device, a binary identifier comprising a plurality of bits; determining, by the computing device, a plurality of encoded cells that encode the binary identifier in accordance with an encoding scheme, wherein each encoded cell indicates a predetermined sequence of two or more bits, and wherein each encoded cell includes a perimeter, an alignment mark within the perimeter, and a line pattern (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) within the perimeter; and wherein the line pattern (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) within the perimeter for each encoded cell includes a line positioned radially with respect to the alignment mark of the encoded cell to represent at least two bits in the predetermined sequence of the encoded cell; generating, by the computing device, a cell array (30, 60, 70, 80) that includes the plurality of encoded cells; and outputting, by the computing device, data for producing a graphical representation of the cell array (30, 60, 70, 80), wherein determining the plurality of encoded cells in accordance with the encoding scheme includes determining, for each of the encoded cells, a cell colour, wherein each cell colour is one of a plurality of colours, and wherein determining the cell colour includes determining a predetermined sequence of two or more bits that matches the predetermined sequence of two or more bits indicated by the line pattern so as to encode redundant sequences of two or more bits in the encoded cell that can be compared during the decoding of the encoded cell to confirm proper decoding. receiving, by a computing device, a binary identifier comprising a plurality of bits; determining, by the computing device, a plurality of encoded cells that encode the binary identifier in accordance with an encoding scheme, wherein each encoded cell indicates a predetermined sequence of two or more bits, and wherein each encoded cell includes a perimeter, an alignment mark within the perimeter, and a line pattern (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) within the perimeter; and wherein the line pattern (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) within the perimeter for each encoded cell includes a line positioned radially with respect to the alignment mark of the encoded cell to represent at least two bits in the predetermined sequence of the encoded cell; generating, by the computing device, a cell array (30, 60, 70, 80) that includes the plurality of encoded cells; and outputting, by the computing device, data for producing a graphical representation of the cell array (30, 60, 70, 80), wherein determining the plurality of encoded cells in accordance with the encoding scheme includes determining, for each of the encoded cells, a cell colour, wherein each cell colour is one of a plurality of colours, and wherein determining the cell colour includes determining a predetermined sequence of two or more bits that matches the predetermined sequence of two or more bits indicated by the line pattern so as to encode redundant sequences of two or more bits in the encoded cell that can be compared during the decoding of the encoded cell to confirm proper decoding.