Warm up while online
Open the scanner with an internet connection, wait for the page to finish loading, and reload it once so the service worker controls requests. While still online, successfully scan a sample and then the code type and input mode you intend to use (camera or image upload); the decoder assets load when that workflow is used.
Test the actual offline path
Disconnect the network or use your browser’s offline mode, reload the scanner, and repeat that same workflow with the same type of sample (camera or image upload). Camera scanning still needs a supported browser, permission, and a secure context. If the offline reload or decoder fails, reconnect and complete the online warm-up again.
Cache and recognition limits
Browsers may evict cached files, and a service-worker update can replace them. After cache eviction, clearing site data, private browsing, or changing browsers, reconnect and repeat the online reload plus successful sample scan before testing offline again. Offline processing does not make a blurred, cropped-without-quiet-zone, reflective, or partially hidden code readable.