Trình Giải Mã QR
Công cụ giải mã QR miễn phí kèm bộ phân tích nội dung. Kiểm tra liên kết và máy chủ của QR trước khi nhấn để tránh quishing, đọc trường Wi-Fi, vCard và OTP cục bộ.
Giới thiệu Trình Giải Mã QR
Trình Giải Mã QR đọc dữ liệu ẩn bên trong mã QR (Quick Response) – họa tiết vuông đen trắng bạn thấy trên áp phích, danh thiếp, thực đơn nhà hàng, bao bì, màn hình thanh toán và vé sự kiện. Bạn có thể tải lên một bức ảnh chứa mã QR hoặc hướng camera thiết bị vào một mã, công cụ sẽ trích xuất nội dung văn bản – thường là URL, nhưng cũng có thể là thông tin Wi-Fi, danh thiếp vCard, email, SMS, sự kiện lịch, tọa độ định vị hay văn bản tự do. Quá trình giải mã diễn ra hoàn toàn trong trình duyệt nhờ thư viện mã nguồn mở jsQR, triển khai chuẩn ISO/IEC 18004: nó tìm ba hình vuông định vị ở góc, tính toán phép biến đổi phối cảnh, lấy mẫu các mô-đun dữ liệu và chạy sửa lỗi Reed-Solomon để khôi phục dữ liệu gốc ngay cả khi một phần mã bị bẩn hoặc bị che. Không có dữ liệu nào được gửi lên máy chủ, nên công cụ an toàn với các mã QR chứa thông tin nhạy cảm như mã thanh toán, mật khẩu Wi-Fi hoặc URL riêng. Hỗ trợ cả Phiên bản 1 (21 x 21) và Phiên bản 40 lớn nhất (177 x 177), cùng cả bốn mức sửa lỗi L / M / Q / H.
Trình giải mã QR này làm gì?
Nó nhận một ảnh bạn tải lên hoặc luồng camera trực tiếp, tìm bất kỳ mã QR nào có trong khung hình và hiển thị văn bản hoặc URL gốc được mã hóa. Bên trong, công cụ triển khai chuẩn QR ISO/IEC 18004: phát hiện ba mẫu định vị ở góc, tính toán biến đổi phối cảnh về lưới chuẩn, đọc các mô-đun dữ liệu, áp dụng mặt nạ định dạng và chạy sửa lỗi Reed-Solomon (lý do mã QR vẫn đọc được khi tới khoảng 30% bề mặt bị hư hỏng, tùy vào mức sửa lỗi được chọn khi mã hóa). Dữ liệu giải mã thường là URL nhưng cũng có thể là Wi-Fi, danh thiếp vCard, email, SMS, định vị, sự kiện lịch hoặc văn bản thuần.
Hỗ trợ các loại tệp và định dạng QR nào?
Mọi định dạng ảnh raster trình duyệt giải mã được: JPG, JPEG, PNG, GIF (khung đầu), BMP, WebP, cộng thêm HEIC trên Safari. Không có giới hạn kích thước cứng vì không có gì tải lên, nhưng công cụ sẽ tự co ảnh lớn hơn 1600 px về phía cạnh dài để giải mã nhanh hơn. Hỗ trợ Phiên bản 1 (21 x 21 mô-đun) đến Phiên bản 40 lớn nhất (177 x 177), cả bốn mức sửa lỗi (L 7%, M 15%, Q 25%, H 30%), mọi mẫu mặt nạ và cả chế độ byte/UTF-8 chuẩn lẫn chế độ Kanji. QR đảo màu (trắng trên nền đen) cũng được phát hiện tự động qua một lần quét bổ sung.
Công cụ có tải ảnh hoặc dùng cảnh quay camera của tôi không?
Không. Ảnh bạn tải lên được vẽ vào Canvas trong trang và được giải mã bằng thư viện jsQR chạy trong công cụ JavaScript của trình duyệt; tab camera dùng getUserMedia để truy cập luồng cục bộ và không ghi hay truyền các khung hình. Bạn có thể kiểm tra ở tab Network của trình duyệt: sau khi trang tải xong, việc quét không sinh ra bất kỳ yêu cầu nào với dữ liệu ảnh. Nhờ vậy, công cụ an toàn cho các mã QR chứa thông tin nhạy cảm như mật khẩu Wi-Fi tại nhà, mã bí mật xác thực hai yếu tố, URL thanh toán hay vé máy bay. Quyền camera chỉ do trình duyệt yêu cầu để truy cập camera; bạn có thể thu hồi bất cứ lúc nào trong cài đặt trang web.
Vì sao giải mã thất bại hoặc cho kết quả sai?
Mã QR có khả năng chịu lỗi nhưng không phải vô hạn. Các nguyên nhân thường gặp gồm: góc nghiêng quá lớn (vượt 45 độ so với phương vuông góc), nhòe do chuyển động, độ tương phản kém (giấy phai, lóa trên màn hình điện thoại), mã chiếm dưới khoảng 100 px mỗi cạnh trên ảnh, các ô định vị bị hư hoặc thiếu, và phản chiếu cắt ngang lưới dữ liệu. Hãy thử ảnh sạch hơn, mã ở giữa, đủ sáng, lấy nét và chiếm ít nhất một phần ba khung hình. Với mã rất nhỏ trong ảnh lớn, hãy cắt sát hơn trước. Khi dùng camera, mã QR nên gần như lấp đầy khung ngắm và bạn nên giữ máy yên một vài giây. Nếu mã trả về văn bản lạ, có thể nó đang dùng mã hóa không chuẩn như Shift-JIS Kanji trên áp phích tiếng Nhật.

Hỗ trợ trình duyệt và thiết bị nào?
Công cụ chạy trên mọi trình duyệt hiện đại có HTML5 Canvas và JavaScript ES2017: Chrome, Edge, Firefox, Safari, Opera và Samsung Internet, cả trên máy tính lẫn di động. Tab camera cần API getUserMedia và trang phải được phục vụ qua HTTPS (WuTools dùng HTTPS), điều mọi trình duyệt hiện đại đều hỗ trợ. Trên iOS, camera hoạt động trên Safari từ phiên bản 11. Thư viện jsQR chỉ khoảng 50 KB sau nén, nên công cụ tải gần như tức thì kể cả với mạng di động chậm. Không có yêu cầu phần cứng tối thiểu nào ngoài đủ RAM cho một ảnh; điện thoại cách đây năm năm vẫn chạy mượt.
Có thể đọc nhiều mã QR trong cùng một ảnh không?
Phiên bản hiện tại đọc một mã QR mỗi ảnh: nó trả về mã hợp lệ đầu tiên tìm được sau bước phát hiện góc. Nếu bạn có một trang chứa nhiều QR, hãy cắt rồi quét từng cái, hoặc dùng chế độ camera hướng vào từng mã. Chúng tôi sẽ cân nhắc thêm tính năng đa mã trong bản cập nhật tương lai; thuật toán jsQR có thể chạy trên các vùng chồng nhau để phát hiện nhiều mã, nhưng làm tăng độ phức tạp và thời gian chạy. Lưu ý các mã 2D khác như Data Matrix, Aztec, MaxiCode hay PDF417 dùng thuật toán quét khác và không được xử lý bởi trình giải mã chỉ dành cho QR; với chúng bạn cần một thư viện tổng quát hơn.
Quét một mã QR lạ có an toàn không, và làm sao kiểm tra URL trong QR có phải lừa đảo (quishing) không?
Việc quét ở đây an toàn vì mọi thứ diễn ra cục bộ và không có gì được tải lên; rủi ro với mã không tin cậy nằm ở những gì bạn làm SAU khi đọc. Lừa đảo qua QR, gọi là quishing, giấu một liên kết độc hại bên trong ô vuông mà mắt thường không đọc được, nên quy trình an toàn là giải mã trước rồi kiểm tra trước khi nhấn. Trình giải mã này không bao giờ tự mở liên kết: khi nội dung là URL, nó hiển thị đích đến đầy đủ, máy chủ chính xác và giao thức, đồng thời chạy kiểm tra nhanh để gắn cờ các thủ thuật phổ biến: liên kết không HTTPS (không mã hóa), địa chỉ IP thay cho tên miền thật, tên miền punycode 'xn--' có thể là bản nhái đồng hình của thương hiệu uy tín, và bất kỳ tên người dùng hay mật khẩu nào nhúng trong URL (mẫu user:pass@host kẻ tấn công dùng để ngụy trang máy chủ thật). Hãy đọc kỹ máy chủ, để ý lỗi chính tả và tên miền phụ thừa như paypal.com.secure-login.example, và chỉ dùng nút mở liên kết rõ ràng khi bạn đã yên tâm. Với nhân viên CNTT, an ninh và hỗ trợ, điều này biến một áp phích, email hay nhãn bao bì thành thứ bạn có thể thẩm định trước khi nó vào trình duyệt.
Có thể giải mã Wi-Fi, vCard, otpauth và các nội dung QR có cấu trúc khác thành từng trường không?
Có. Sau khi giải mã, công cụ phân loại nội dung và tách thành các trường dễ đọc thay vì một khối thô. Mã Wi-Fi (WIFI:T:WPA;S:MangCuaToi;P:matkhau;H:false;) được phân tích thành tên mạng (SSID), loại bảo mật, mật khẩu và cờ mạng ẩn, xử lý đúng các ký tự thoát bằng dấu gạch chéo ngược. Mã danh thiếp (BEGIN:VCARD hoặc MECARD:) được tách thành tên, điện thoại, email, tổ chức và URL. Mã xác thực (otpauth://totp/NhaPhatHanh:taikhoan?secret=...) được tách thành nhà phát hành, tài khoản, mã bí mật và loại, giúp bạn đọc hoặc kiểm tra hạt giống 2FA. Công cụ cũng nhận biết email mailto: và MATMSG:, số điện thoại tel:, tin nhắn smsto:/sms:, vĩ độ và kinh độ geo:, và sự kiện lịch BEGIN:VEVENT (tiêu đề, bắt đầu, kết thúc, địa điểm). Phần không khớp lược đồ đã biết sẽ hiển thị dưới dạng văn bản thuần. Chuỗi giải mã gốc luôn nằm trong ô văn bản để bạn sao chép nguyên văn, còn bảng có cấu trúc giúp đọc tại chỗ các nội dung như mật khẩu Wi-Fi hay mã bí mật OTP.
