Cập nhật lần cuối:

Mã QR chứa được bao nhiêu thông tin? - Cơ chế đằng sau ô vuông đen trắng

Khoảng 7 phút đọc

Thanh toán ở cửa hàng, đi tàu điện, kết bạn trên LINE - ngày nào chúng ta cũng dùng mã QR, nhưng bạn có bao giờ tự hỏi ô vuông đen trắng ấy chứa được bao nhiêu thông tin không? Câu trả lời: tối đa khoảng 1.800 ký tự Kanji, tương đương khoảng 4 trang rưỡi giấy viết văn kẻ ô 400 chữ, tất cả được nén gọn trong một hình vuông bé xíu.

Dung lượng dữ liệu của mã QR

Các con số dưới đây là mức trần của phiên bản 40 - phiên bản lớn nhất - khi mức sửa lỗi được đặt ở mức yếu nhất (L), theo giá trị quy chuẩn tính đến năm 2026. Mã QR dùng trong thực tế được tạo ở những phiên bản nhỏ hơn nhiều, nên hầu như không bao giờ chạm tới các mức này.

Loại dữ liệuDung lượng tối đaVí dụ dễ hình dung
Chỉ gồm chữ số7.089 chữ sốKhoảng 640 số điện thoại
Chữ cái và chữ số4.296 ký tựKhoảng 15 bài đăng X (Twitter cũ) dài 280 ký tự
Nhị phân (8 bit)2.953 byteKhoảng 3 KB dữ liệu
Kanji (Shift_JIS)1.817 ký tựKhoảng 4,5 trang giấy viết văn kẻ ô

Nếu chỉ gồm chữ số, một mã QR chứa được tới 7.089 chữ số, nhưng sang chữ Kanji thì chỉ còn 1.817 ký tự. Đúng như bài sự khác biệt giữa số ký tự và số byte đã giải thích: mỗi chữ Kanji tốn nhiều byte hơn, nên số chữ chứa được cũng ít đi tương ứng.

Phiên bản và kích thước của mã QR

Mã QR có khái niệm "phiên bản", đánh số từ 1 đến 40: phiên bản càng cao thì mã càng lớn và chứa được càng nhiều dữ liệu. Phiên bản 1 có 21 module mỗi cạnh, và mỗi bậc phiên bản cộng thêm 4 module, nên số module mỗi cạnh bằng 4 x số phiên bản + 17. Sức chứa trong bảng dưới đây là mức trần của chế độ chỉ gồm chữ số khi mức sửa lỗi được đặt ở mức yếu nhất (L).

Phiên bảnSố moduleSức chứa tối đa (chữ số, mức L)Tình huống thường dùng
1 (nhỏ nhất)21 x 2141 chữ sốURL ngắn
537 x 37255 chữ sốURL thông thường
1057 x 57652 chữ sốThông tin liên hệ trên danh thiếp
2097 x 972.061 chữ sốVăn bản dài
40 (lớn nhất)177 x 1777.089 chữ sốDữ liệu lớn (hiếm khi dùng)

Phiên bản 40 gồm 177 x 177 = 31.329 module đen trắng. Tuy vậy, trên thực tế gần như không ai dùng đến phiên bản này: dữ liệu càng nhiều thì mã QR càng dày đặc và phức tạp, camera điện thoại càng khó quét.

Bên trong những mã QR quen thuộc có gì?

Dưới đây là nội dung của những mã QR ta gặp hằng ngày, xếp theo mục đích sử dụng. Các dung lượng chỉ là mức ước lượng dựa trên độ dài URL và tham số quan sát được trong năm 2026, không phải giá trị mà các dịch vụ công bố như một quy cách kỹ thuật (với một số mục đích, quy cách hoàn toàn không được công khai).

Mục đíchThông tin bên trongDung lượng tham khảo
Kết bạn LINE/ZaloURL trang cá nhân (khoảng 40 ký tự)Khoảng 40 byte
Thanh toán QRURL thanh toán + tokenKhoảng 100-200 byte
URL trang webChuỗi URLKhoảng 30-100 byte
Thông tin kết nối Wi-FiSSID + mật khẩu + phương thức mã hóaKhoảng 50-150 byte
Danh thiếp (vCard)Tên, điện thoại, email, địa chỉKhoảng 200-500 byte
Thẻ lên máy baySố hiệu chuyến bay, số ghế, thông tin hành kháchKhoảng 100-300 byte

Hầu hết mã QR ta gặp hằng ngày chưa dùng đến 10% dung lượng tối đa. Mã kết bạn LINE chỉ khoảng 40 byte - vỏn vẹn 1,4% của mức trần 2.953 byte.

Khả năng sửa lỗi của mã QR

Mã QR có một đặc tính rất thú vị: dù bị bẩn hay bị che mất một phần, nó vẫn đọc được.

Mức sửa lỗiTỷ lệ khôi phục đượcLượng dữ liệu chứa được ở cùng kích thướcTình huống dùng
L (thấp)Khoảng 7%Nhiều nhấtMôi trường sạch (hiển thị trên màn hình)
M (trung bình)Khoảng 15%Ít hơn một chútẤn phẩm in thông thường
Q (khá cao)Khoảng 25%Ít hơn đáng kểMôi trường dễ bám bẩn
H (cao)Khoảng 30%Ít nhấtMã QR có gắn logo

Các tỷ lệ này không phải là phần diện tích có thể bị che đi. Chúng cho biết trong toàn bộ các từ mã (codeword - đơn vị mà dữ liệu được chia thành, mỗi đơn vị 8 bit) thì khôi phục lại được bao nhiêu phần. Ở mức H, dữ liệu gốc vẫn khôi phục được khi khoảng ba trên mười từ mã không đọc nổi, và đó là lý do các doanh nghiệp đặt được logo vào chính giữa mã QR. Tuy vậy, nếu các mẫu định vị (ba ô vuông lớn ở các góc) bị hỏng thì máy quét không xác định được vị trí của mã ngay từ đầu, nên việc khôi phục còn chưa có cơ hội diễn ra - phần che được vì thế chỉ giới hạn ở vùng giữa của mã. Và vì mức sửa lỗi càng cao thì chỗ dành cho dữ liệu ở cùng một kích thước càng ít, nên đây là sự đánh đổi giữa khả năng chịu bẩn và lượng dữ liệu chứa được.

So sánh mã QR với mã vạch

Hạng mụcMã vạch (1 chiều)Mã QR (2 chiều)
Dung lượngTối đa khoảng 20 ký tự chữ và số7.089 chữ số / 4.296 ký tự chữ và số
Chiều ghi dữ liệuChỉ chiều ngangCả ngang lẫn dọc
Góc quétChỉ chính diện360 độ, từ mọi hướng
Sửa lỗiKhông cóCó (tối đa 30%)
Hỗ trợ tiếng NhậtKhôngCó

Mã vạch chỉ chứa được tối đa khoảng 20 ký tự chữ và số - vừa đủ cho mã định danh sản phẩm (mã EAN-13 gồm 13 chữ số). Mã QR chứa được 4.296 ký tự chữ và số, nên so trên cùng một cơ sở thì nó đựng được hơn 200 lần lượng đó, lại còn ghi trực tiếp được cả Kanji và Kana.

Chính khoảng cách ấy là lý do mã QR ra đời: mã vạch đã không còn đủ chỗ cho hiện trường nhà máy. Mã QR được công bố năm 1994 bởi DENSO (hiện nay mảng mã QR do DENSO WAVE phụ trách), và người thực hiện là một nhóm chỉ hai người do ông Masahiro Hara dẫn dắt. Tên gọi QR là viết tắt của Quick Response, bởi thiết kế nhắm tới tốc độ đọc chứ không chỉ sức chứa. Trái tim của điều đó là các mẫu định vị hình vuông ở ba góc: bề rộng các vạch đen trắng của chúng theo tỷ lệ 1 : 1 : 3 : 1 : 1, một khuôn hình gần như không xuất hiện ở đâu khác trong bản in. Nhờ vậy máy quét xác định được vị trí của mã bất kể quét từ hướng nào, và đó chính là điều làm nên khả năng đọc từ mọi góc.

Rủi ro bảo mật của mã QR

Rủi roThủ đoạnCách phòng tránh
Mã QR giảDán đè mã giả lên mã thậtCảnh giác với nhãn dán bất thường
Lừa đảo (phishing)Nhúng URL trang web giả vào mã QRKiểm tra URL sau khi quét
Phần mềm độc hạiURL tải ứng dụng độc hạiKhông quét bừa mã QR không rõ nguồn gốc

Mã QR rất tiện, nhưng có một điểm yếu: ta không nhìn thấy nội dung bên trong. Nếu URL được viết bằng chữ, ta còn có thể nhận ra trang web đáng ngờ; với mã QR thì phải quét rồi mới biết. Cũng giống câu chuyện về số ký tự mật khẩu và bảo mật, điều quan trọng là giữ được cân bằng giữa tiện lợi và an toàn.

Chia sẻ bài viết này