バーコードの読取は、バーコードリーダの照射する光がバーコードシンボルで反射し、その反射光を検知することで行われている。したがって、バーコードシンボルの反射率と光の入射角は、バーコードの読取に大きく影響する。
光の反射には、拡散反射と鏡面反射がある。拡散反射とは、入射角が反射面で全方向に反射することであり、鏡面反射とは、反射光が入射角に等しい角度で全反射することである。バーコードの読み取りは、通常、拡散反射を利用しているので、シンボル面に対し様々な角度で読み取ることができる。一方、シンボル面が鏡面反射の場合、反射光がバーコードリーダに全く戻って来ないので、読み取りできない。金属面のシンボルは、目視ではバーコードが認識できたとしても、バーコードリーダは、反射光が戻って来ないために、真っ黒なバーコードに見えてしまうのである。アルミ缶のバーコードシンボルは、バーが白くなっている。これは、乱反射する白いバーと全反射する金属面の差を利用してバーコードを認識している。
バーコードの読み取りをシンボルに垂直にした場合は、強い反射光がバーコードリーダに戻り受光素子を飽和させてしまうので、読取率を大幅に低下させるか、全く読み取りできなくなる。特にレーザスキャナのように照射光が強い場合は、反射光も強くなるので、全反射では、まったく読み取ることはできない。レーザスキャナは、垂直より少し傾斜させた方が読取率を高くできるのは、この全反射が原因である。