What you are seeing
The code scans, the download starts, then stops partway: a stalled progress bar, a failed download message, or a file that arrives incomplete. The scan worked, so the fault sits in the download: the file, the server, the connection, or the phone storage. A half-downloaded file is worse than no file, because the visitor may not realise it is incomplete. The fix is to test the download on its own, then the QR journey, and to make the file and the page forgiving of weak connections.
Likely causes
1.
File too large for the connection — A large file can stall or fail on a weak mobile connection. Test: try the download on a strong connection and compare.
2.
Server interrupting the download — A server timeout, a limit, or a fault can cut the download short. Test: download the file directly on a desktop and check whether it completes.
3.
Link points at an incomplete or moved file — A file that was replaced, moved, or only partly uploaded can produce a truncated download. Test: check the file on the server and compare its size with the expected size.
4.
Phone storage full — A phone with no free storage stops the download partway. Test: check the storage on the failing phone.
5.
Redirect breaking the download — A redirect can interrupt the download or send the browser to a page instead of the file. Test: follow the redirect chain and watch the download behaviour.
Step-by-step fix
1. Decode the payload and write down the exact download link it carries.
2. Download the file directly on a desktop and confirm it completes.
3. Check the file size on the server against the expected size.
4. Test the download on a strong connection and on a weak one.
5. Fix the file, the server, or the link, whichever interrupts the download.
6. Retest by scanning the code and downloading the complete file on two phones.
Putting this into practice
In practice, the file size is the first suspect for a download that stops halfway. A file that downloads fine on office WiFi can stall on a weak mobile signal, which is the connection your visitors use. Keep download files as small as you can, and link to a page that describes the file so visitors can retry with context. Keep a short note of what you tested, what failed, and what you changed, so the next person starts from evidence rather than guesswork. A fix that is written down survives staff changes and reprints; a fix that lives only in memory gets repeated.
Common mistakes to avoid
- Linking a QR code to a huge file and assuming visitors will wait for it on a weak mobile signal.
- Reprinting the full run before a single proof passes, which turns one failure into many.
- Testing on one phone in ideal conditions instead of two phones in the real conditions where a code that scans but the download stops halfway will be used.
- Changing the artwork and the placement at the same time, so you cannot tell which change fixed a code that scans but the download stops halfway.- Skipping the proof test because the change looked small, when small changes cause most repeat failures.
Quick checklist
- The file downloads completely on a desktop
- The server file size matches the expected size
- Scanning downloads the complete file on two phones
- The corrected proof passes on two phones in the real conditions
- The fix is recorded in the job file so the next reprint starts from a proven setup
- Every printed copy is checked against the approved proof
- The proof is retested after any later change to the link, design, or placement
Related tools and guides
- [QR expiry checker](/qr-expiry-checker)
- [QR redirect chain viewer](/qr-redirect-chain-viewer)
- [QR payload inspector](/qr-payload-inspector)
- [QR scan log](/qr-scan-log)
- [QR safety checker](/qr-safety-checker)
- [PDF QR code generator](/pdf-qr-code-generator)