A multi-code reading system with visual feedback, the system comprising: an imager for capturing a digital image of a code set in a field of view, the code set comprising a plurality of codes printed on or affixed to a target; a projector for projecting onto each code of the plurality of codes a feedback image selected from a set of feedback images; a memory for storing the digital image, the set of feedback images, and a code-reading program; and a processor communicatively coupled to the imager, the projector, and the memory, wherein the processor is configured by the code-reading program to: (i) retrieve the digital image from the memory, (ii) detect the codes within the digital image, and (iii) read each detected code, characterized in that the processor is further configured by the code-reading program to: (iv) after reading the detected codes, for each code, select a positive or negative read status feedback image from the set of feedback images, the selection being based on the code's read status, wherein when a code has been successfully scanned, a positive read status is assigned, whereas if a code has not been successfully scanned, a negative read error status is assigned, and (v) project onto each code printed on or affixed to the target the code's selected positive or negative read status feedback image. an imager for capturing a digital image of a code set in a field of view, the code set comprising a plurality of codes printed on or affixed to a target; a projector for projecting onto each code of the plurality of codes a feedback image selected from a set of feedback images; a memory for storing the digital image, the set of feedback images, and a code-reading program; and a processor communicatively coupled to the imager, the projector, and the memory, wherein the processor is configured by the code-reading program to: (i) retrieve the digital image from the memory, (ii) detect the codes within the digital image, and (iii) read each detected code, (i) retrieve the digital image from the memory, (ii) detect the codes within the digital image, and (iii) read each detected code, characterized in that the processor is further configured by the code-reading program to: (iv) after reading the detected codes, for each code, select a positive or negative read status feedback image from the set of feedback images, the selection being based on the code's read status, wherein when a code has been successfully scanned, a positive read status is assigned, whereas if a code has not been successfully scanned, a negative read error status is assigned, and (v) project onto each code printed on or affixed to the target the code's selected positive or negative read status feedback image. (iv) after reading the detected codes, for each code, select a positive or negative read status feedback image from the set of feedback images, the selection being based on the code's read status, wherein when a code has been successfully scanned, a positive read status is assigned, whereas if a code has not been successfully scanned, a negative read error status is assigned, and (v) project onto each code printed on or affixed to the target the code's selected positive or negative read status feedback image.