# What's the best way to group digits of a large number/code?

I am in a situation where I need to display a barcode of 18 alphanumeric characters. In case the barcode scanner is broken or cannot read for any reason, the operator will have to manually type in that code. Hence I'd like to present the code in the easiest way for the operator to read the bits while he's typing.

My experience says that groups of 3 to five characters are good for that purpose, and having all the groups with the same length is also desired. Just like credit cards: 4444 5555 6666 7777 looks so easy on the eyes.

But I've got 18 characters. 3 groups of 6 feels that each group is too lengthy. 6 groups of 3 feels too many groups.

I could make 3 groups of 5 and one of 3. But in this case, the smaller one should come first or last?

What other suggestions do you have?

Update: here's an example of the code while I was testing the 5-5-5-3 pattern

Naturally, there is a variation amongst some individuals, but the average cap does seem to hover around the 3 or 4 memory slot mark. -The Limits of Memory

Cowan proposed that working memory has a capacity of about four chunks in young adults (and fewer in children and old adults). -Working Memory (Wikipedia)

You'll notice most numbers that people are required to remember quickly are grouped into 3s and 4s like telephone numbers, credit card numbers, and even nintendo's friend code system.

What does the actual barcode look like? For instance, EAN by definition has a division after the first and the seventh. This leaves you with a 1-6-6 grouping.

While I too believe 6 characters per group is rather lengthy, a well designed UI could make such a grouping user friendly since it's analogous to the physical appearance of the barcode.

If your barcode has divisions between number groups, it might be useful to stick to them. If not, 4-4-4-4-2 (or 2-4-4-4-4) is a good alternative. Whether the smaller group should go first or last should be determined by either the barcode's appearance or it's code structure.

• I am using Code128. Commented Jun 3, 2014 at 14:58
• Dang, there goes my 'realistic character grouping'... ;) How do you feel about giving each character its own input field and automatically advancing them to the next field on input? This prevents the users to input too many characters while clearly showing them if the last x characters are missing.
– Tom
Commented Jun 3, 2014 at 15:06