Khi quét mã vạch, các máy quét barcode bắn ra 1 chùm tia sáng, thường là màu đỏ. Nếu nó rơi vào 1 vùng sáng, thì 1 con số zero sẽ được đọc. Còn nếu nó rơi vào 1 vùng tối, thì máy sẽ nhận dạng là con số 1. Như vậy, việc quét barcode sẽ phát ra 1 chuỗi gồm những con số zero và 1. Chuỗi này sẽ tượng trưng cho các ký tự hoặc ký số đã được mã hoá và được truyền vào bộ giải mã. Bộ giải mã có thể là phần cứng (bộ phận giải mã) có Firmware, hoặc cũng có thể là phần mềm được cài vào máy tính. Khi chuỗi zero và 1 đưa vào bộ giải mã được nhận dạng là 1 loại barcode nào đó thì nó sẽ được biên dịch thành mã số ban đầu và 1 tiếng "bíp" sẽ báo hiệu.

Các máy quét barcode bắn ra 1 chùm tia sáng màu đỏ mà mắt thướng ít thấy được
Còn bằng ngược lại thì máy sẽ không báo hiệu gì cả và không có mã số nào được hiển thị vì tín hiệu thu được không nằm trong các loại barcode được lập trình sẵn trong Firmware của phần cứng hoặc trong Software của phần mềm.
Thông thường hầu hết các loại barcode scanner có mặt trên thị trường đều có sẵn bộ giải mã bên trong và ta không cần phải lập trình để giải mã barcode.
Đặc điểm của scanner quang học là các vạch càng cao thì góc quét càng lớn và khả năng đọc mã vạch càng cao. Vạch càng thấp thì chùm tia sáng đập vào nó càng ít (tức góc quét càng thấp) và khả năng đọc mã vạch càng thấp.
Như vậy, trong nguyên lý hoạt động của máy quét barcode quang học, ta thấy rằng khi 1 máy quét barcode còn tốt (tức bộ phận phát tia sáng còn tốt) không đọc được 1 loại barcode nào đó thì điều này có nghĩa là máy vẫn đọc được tín hiệu, nhưng không giải mã được vì chuỗi (0, 1) thu được không nằm trong bất kỳ loại barcode nào có sẵn trong Firmware của máy.