Empat mod utama
Setiap mod menukar julat aksara dengan kepadatan. Mod angka hanya mengendalikan digit tetapi memadatkan tiga digit ke dalam 10 bit, manakala mod bait mengendalikan sebarang bait tetapi menggunakan 8 bit bagi setiap satu.
Mod abjad angka meliputi set 45 aksara: digit 0–9, huruf besar A–Z, ruang dan simbol $ % * + - . / serta titik bertindih. Huruf kecil tiada dalam set itu, itulah sebabnya URL yang semuanya huruf besar boleh menghasilkan kod yang lebih kecil daripada URL yang sama dalam huruf kecil.
- Angka: digit 0–9, 10 bit bagi 3 digit
- Abjad angka: 45 aksara, 11 bit bagi 2 aksara
- Bait: sebarang nilai 8 bit, 8 bit bagi satu bait
- Kanji: aksara dwibait Shift JIS, 13 bit setiap satu
Penunjuk mod dan segmen
Setiap larian data bermula dengan penunjuk mod 4 bit dan kiraan aksara, yang panjangnya bergantung pada mod dan versi. Satu kod boleh mengandungi beberapa segmen sebegini, contohnya angka untuk larian digit yang panjang dan bait untuk selebihnya, yang boleh menjadikan hasilnya lebih kecil.
Penunjuk 4 bit yang lain menandakan ciri dan bukannya set aksara: ECI untuk mengisytiharkan pengekodan aksara, structured append untuk memecahkan data merentasi beberapa kod, dan FNC1 untuk GS1 dan format data industri yang lain. Penamat empat bit sifar mengakhiri data.
- Angka 0001, abjad angka 0010, bait 0100, kanji 1000
- ECI 0111, structured append 0011
- FNC1 kedudukan pertama 0101, kedudukan kedua 1001
- Penamat 0000
Mod bait dan set aksara
Tafsiran lalai piawaian bagi mod bait ialah ISO-8859-1 (Latin-1), tetapi kebanyakan penjana kini menulis UTF-8 supaya huruf beraksen, skrip lain dan emoji kekal utuh. Pembaca biasanya mengesan UTF-8 dengan memeriksa bait itu.
Apabila set aksara mesti jelas tanpa keraguan, pengepala ECI boleh mengisytiharkannya secara nyata. Tanpanya, pembaca kadangkala mungkin tersalah teka dan memaparkan aksara yang kacau.