Describe the bug
ZXing JS fails to decode many simple and clear QR codes that are decoded successfully by ZXing for Java.
I am using zxing-js as shown in the example on the project's main page.
The live preview also fails to decode these QR codes:
To Reproduce
- Go to the live preview https://zxing-js.github.io/library/examples/multi-image/
- Replace the
img src with one of the QR codes provided below.
- Click Decode.
- Observe that ZXing JS fails to decode it.
- Check that the QR code is successfully decoded by ZXing Java https://zxing.org/w/decode.jspx
Problematic QR codes
ffffffffffffff
Data URL for convenience:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKEAAAChCAYAAACvUd+2AAAGsklEQVR4Aeya227jMAwFc/b//7mLtkBRqOFxxIiybM0CLerQvI3mJcL+++AfBE4m8O/BPwicTAAJTz4A2j8eSIgFpxNAwtOPgAGQEAdOJ3B/CU9HzABHBKyEkh7StX+OAERxKd47yvn8XIrzpDj2mRv9SHGedI1YtNvn51bCzxf4gUA1ASSsJkz9QwJIeIiIF6oJIGE1YeofEkDCQ0TLv3D5AZHw8kd4/QXSEn58fDxW+Zl9DFJ8LZJlkt0h268iL7tDWsJsQ/Ig0BJAwpYIz9MJIOF05DRsCSBhS4Tn6QQOJZw+EQ23I4CE2x35eguXSCjFVxhSLlaBTopncf3c9YYU15TimOuXjUlxPykXy87i8kokdA2JQaAlgIQtEZ6nE0DC6chp2BJAwkeLhOfZBJBwNnH6/SGAhH+Q8MFsAkgYEM9ewwTlvj52Nb9e2PQXEm568CutjYQrncamsyDhBge/+opIuPoJbTAfEm5wyKuviISrn9AG8yFh4pDdVYuLSfH/XEmMcZsUJLzNUV53ESS87tndZvL3JbwNChY5iwASnkWevj8EkPAHBX+cRQAJzyJP3x8CJRK6a4ps7GfiSX9I8XWKFMcmjfdSmyxrl/dS486XSiTsnIHXNyeAhMcC8EYxASQsBkz5YwJIeMyIN4oJIGExYMofE0DCY0a8UUwgLaEUX1NIc2MVjGZfU2R3kOayluJ+2R3SEmYbkrcggZNHQsKTD4D2jwcSYsHpBJDw9CNgACTEgdMJIOHpR8AAVkJ3TXGV2EpH7Ji5OV3eVWJuPyuhS3w9xpsQ8ASQ0PMhOoEAEk6ATAtPAAk9H6ITCCDhBMi08ASQ0PMhOoGAlVDSQ3r+42aTnudI8z93c7rrjZ6833Wk3I6un5SrKY3Pc3NmY1bCbFHyINBDAAl7aPFuCQEkLMFK0R4CSNhDi3dLCCBhCVaK9hBAwh5a275bu/hSEv6+6mj/dhjad38/u7yK2O/ePX9L8XWKq1OxQ7amFO/gai4loRuU2H0JIOF9z/YymyHhZY7qvoMi4X3P9jKbIeFljuq+g64g4X3pstlLBNISSrmv4+66QYprZvMcBSnuJ8WxiprZ/VxeRUyKubh+jllaQleUGAR6CCBhDy3eLSGAhCVYKdpDAAl7aPFuCQEkLMHaFOXREkBCi4fgDAJpCd3XcRfLLiXlrgakXF52Tre7i0m5OaU4Txofy+7geKYldEWJQaCHABL20OLdEgJIWIKVoj0EkLCHFu9GBN76HAnfwkfyCAJIOIIiNd4iYCV0X8ddVym+GnB52Zg0vl/F7lI8p+sn5fJczWxMys3iztZK6BKJQWAUASQcRZI6aQJImEZH4igCl5Bw1LLUWZMAEq55LltNhYRbHfeay5ZI6L7+OwwuryImxdcNUhyr2EGK+7ndpThPGh/LzuKYlUjoGhKDQEsACVsiPE8ngITTkT9ruPdnSLj3+S+xPRIucQx7D4GEe5//EttbCaXxX/GluTUdZXfd4GKuppTbz/WT4pouryIm5WZxzKyELpEYBEYRQMJRJKljCbggEjo6xKYQQMIpmGniCCCho0NsCgEknIKZJo5AWsKKr//Zmm5BF5Pi6waX52LZHaR4FldTivOk8bHsLI5ZWkJXlBgEegjcQ8KejXl3OQJIuNyR7DcQEu535sttjITLHcl+AyHhfme+3MYlEkrjrwZmk5PiHdwsUpwnxbHs1YfLq4hJ8Q6Oi4uVSOgaEksRuHUSEt76eK+xHBJe45xuPSUS3vp4r7EcEl7jnG49JRLe+nivsRwSBufkrjeClK+PXZ6LSfHVRzZPimtKuZibxcW+4AS/viQMYnwMgSkEkHAKZpo4Akjo6BCbQgAJp2CmiSOAhI4OsSkEkHAKZpo4AptI6BA8j0m5Kwwpl+euN6S4psuriD2n9d6nSPgeP7IHEEDCARAp8R4BJHyPH9kDCCDhAIiUeI8AEr7Hj+wBBJBwAMQVSlx5hhIJr3I14ObMHqqr6WJS7hpGivOk8bEsF5dXIqFrSAwCLQEkbInwPJ0AEk5HTsOWABK2RHieTgAJpyOnYUvgNQnbLJ4hMJBAWkJp/Nd/KVczy0OK+7nrFBeT4ppSHMvWdHkVMSneIXsOaQmzDcmDQEsACVsiPE8ngITTkdOwJYCELRGepxNAwm/k/D6RABKeCJ/W3wSshBVf8WfX/F7z+W83y/OM409dTRdzlbN5rmY2VjGLlTA7KHkQ6CGAhD20eLeEABKWYKVoDwEk7KF15XcXnh0JFz6cXUZDwl1OeuE9/wMAAP//KkVTTgAAAAZJREFUAwBhydWCVH+FkQAAAABJRU5ErkJggg==
kkkkkkkkkkk
Data URL for convenience:
data:image/png;base64,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
Expected behavior
ZXing JS should successfully decode these QR codes, as they are simple and clear QR codes and are decoded successfully by ZXing for Java.
Screenshots
Desktop
- OS: [Windows 11]
- Browser: [Chrome]
- Version 151.0.7922.109 (Official Build) (64-bit)
Additional context
You can find many more examples using qrcode.expert. Expand the Scannability Report to view the scan results from different QR-code readers/tools. (The downloaded PNG image is not exactly the same as the one sent to ZXing JS).
This suggests that the issue may not be limited to the examples provided above.
Describe the bug
ZXing JS fails to decode many simple and clear QR codes that are decoded successfully by ZXing for Java.
I am using
zxing-jsas shown in the example on the project's main page.The live preview also fails to decode these QR codes:
To Reproduce
imgsrcwith one of the QR codes provided below.Problematic QR codes
ffffffffffffff
Data URL for convenience:
kkkkkkkkkkk
Data URL for convenience:
Expected behavior
ZXing JS should successfully decode these QR codes, as they are simple and clear QR codes and are decoded successfully by ZXing for Java.
Screenshots
Desktop
Additional context
You can find many more examples using qrcode.expert. Expand the Scannability Report to view the scan results from different QR-code readers/tools. (The downloaded PNG image is not exactly the same as the one sent to ZXing JS).
This suggests that the issue may not be limited to the examples provided above.