diff --git a/application/templates/scan.html b/application/templates/scan.html
index 2e24c03..92a7933 100644
--- a/application/templates/scan.html
+++ b/application/templates/scan.html
@@ -41,7 +41,11 @@
console.log('[DEBUG] Permission given and at least one device present');
const devices = await codeReader.listVideoInputDevices();
console.log('[DEBUG] Cameras found:', devices);
- const selectedDeviceId = devices[0]?.deviceId;
+ const rearCamera = devices.find(device => device.label.toLowerCase().includes('back'))
+ || devices.find(device => device.label.toLowerCase().includes('rear'))
+ || devices[0]; // fallback
+
+ const selectedDeviceId = rearCamera?.deviceId;
await codeReader.decodeFromVideoDevice(selectedDeviceId, videoElement, async (result, err) => {
if (result) {
const codeText = result.getText();