Mã QR là gì? Cách mã QR lưu được cả một đường link

Trang chủ / Blog / Mã QR là gì? Cách mã QR lưu được cả một đường link
Điện thoại quét mã QR ở quán cà phê
Điện thoại quét mã QR ở quán cà phê — ảnh bìa bài viết mã QR là gì.

Đi ăn trưa, bạn giơ điện thoại lên quét một ô vuông đen trắng trên bàn là thấy ngay thực đơn, khỏi cần gọi nhân viên mang menu giấy. Ô vuông đó là mã QR, và câu hỏi thú vị nằm ở chỗ: làm sao một hình nhỏ như vậy lại chứa được cả một đường link dài? Cùng xem bên trong mã QR có gì nhé.

Một ô vuông nhỏ, từ xưởng ô tô ra khắp phố

Mã QR là viết tắt của Quick Response, nghĩa là phản hồi nhanh. Năm 1994, Masahiro Hara cùng công ty Denso Wave của Nhật Bản tạo ra nó để theo dõi linh kiện trên dây chuyền lắp ráp ô tô. Mã vạch một chiều khi đó chứa quá ít thông tin, lại phải quét đúng hướng, nên họ cần một loại mã đọc nhanh hơn và chứa được nhiều hơn.

Denso Wave sau đó cho phép mọi người dùng chuẩn mã này mà không thu phí bản quyền, nhờ đó mã QR lan ra khỏi nhà máy rất nhanh. Từ tem linh kiện, nó xuất hiện trên bao bì, vé xe, bàn ăn và màn hình thanh toán.

Bên trong ô vuông có những gì?

Nhìn kỹ một mã QR, bạn sẽ thấy ba ô vuông lớn ở ba góc. Đó là các ô định vị. Điện thoại tìm ba ô này trước tiên, nhờ đó mà nó biết mã đang xoay hướng nào và to hay nhỏ, dù bạn giơ máy nghiêng hay ngược. Ba ô góc giống như ba cột mốc trên một tấm bản đồ: có đủ ba cột mốc, máy mới dựng được lưới để đọc phần còn lại.

Chạy dọc giữa các ô góc là dải thời gian, một hàng ô đen trắng xen kẽ nhau, giúp máy đếm chính xác có bao nhiêu hàng, bao nhiêu cột. Gần đó còn có các ô căn chỉnh nhỏ, giúp chỉnh lại lưới khi mã bị in cong hoặc chụp nghiêng. Phần còn lại là vùng dữ liệu và vùng thông tin định dạng, nơi ghi lại mã đang dùng chế độ mã hóa nào và mức sửa lỗi nào. Xung quanh là viền trắng trống, gọi là vùng yên tĩnh, giúp máy tách mã ra khỏi hình nền.

Vì sao điện thoại đọc được cả một đường link dài?

Mã QR không chứa trang web bên trong. Nó chỉ chứa một chuỗi ký tự, và đường link là một dạng chuỗi ký tự. Khi điện thoại đọc được chuỗi bắt đầu bằng https://, nó hiểu đây là một địa chỉ web và gợi ý mở bằng trình duyệt. Còn nếu chuỗi đó chỉ là một câu nhắn, điện thoại sẽ hiện câu nhắn lên cho bạn đọc, chứ không mở trang nào cả.

Để nhét được nhiều chữ vào ít ô nhất, mã QR dùng bốn chế độ mã hóa. Chế độ số chỉ chứa các chữ số 0 đến 9, nên tiết kiệm ô nhất. Chế độ chữ và số chứa thêm chữ hoa và một số ký tự đặc biệt. Chế độ byte chứa được gần như mọi ký tự, kể cả chữ thường và dấu tiếng Việt, nhưng tốn ô hơn. Chế độ Kanji dành riêng cho chữ Nhật.

Ở phiên bản lớn nhất, mã QR có lưới 177 nhân 177 ô và chứa tối đa 7.089 ký tự số, 4.296 ký tự chữ và số, 2.953 byte hoặc 1.817 ký tự Kanji, khi dùng mức sửa lỗi thấp nhất. Đường link tới công cụ QR của Công Cụ Việt dài 73 ký tự, nên mã của nó chỉ cần lưới nhỏ, thưa và dễ quét.

Rách một góc vẫn quét được, vì sao?

Một mã QR không chỉ chứa nội dung bạn muốn gửi. Nó còn chứa thêm dữ liệu dự phòng, tạo ra bằng thuật toán sửa lỗi Reed-Solomon. Nói nôm na, người gửi kèm theo đủ “gợi ý” để máy tính đoán lại phần bị mất.

Có bốn mức sửa lỗi, gọi là L, M, Q và H, khôi phục được khoảng 7%, 15%, 25% và 30% dữ liệu bị hỏng. Mức càng cao thì mã càng bền, nhưng càng chứa ít nội dung thật vì một phần ô vuông đã dành cho dữ liệu dự phòng. Nhưng vị trí hỏng mới là thứ quyết định: hỏng vài ô ở giữa vùng dữ liệu thì còn cứu được, còn hỏng mất một ô định vị ở góc thì máy không tìm được lưới ngay từ đầu. Vì thế, logo chèn giữa mã thường không sao, nhưng một vết rách đúng góc mã lại có thể khiến mã hỏng hẳn.

Điện thoại quét mã QR trên thực đơn ở quán cà phê
Điện thoại đọc chuỗi ký tự trong mã rồi mới gợi ý mở trang. Mã trong ảnh chỉ mang tính minh họa.

Mã QR tĩnh và mã QR động khác nhau thế nào?

Mã QR tĩnh chứa thẳng nội dung bên trong hình. Bạn tạo mã cho một đường link, in ra, và muốn đổi link thì phải tạo hình mới, in lại. Nội dung nằm chết trong hình, không ai từ xa sửa được.

Mã QR động thì khác. Hình mã chỉ chứa một địa chỉ trung gian, còn đích đến thật được quản lý ở máy chủ của dịch vụ tạo mã. Người quản lý có thể đổi đích đến mà không cần in lại hình, nhưng bạn cũng phụ thuộc vào dịch vụ đó: dịch vụ ngừng hoạt động thì mã cũng ngừng dẫn tới nơi cần đến.

Nói rõ luôn, công cụ tạo và quét mã QR của Công Cụ Việt chỉ tạo mã tĩnh, không có trang quản lý để đổi đích đến từ xa, không có thống kê lượt quét, cũng không có tính năng đặt mật khẩu hay chèn logo. Bù lại, mã bạn tạo ra vẫn quét được chừng nào đường link bên trong còn hoạt động.

Quét mã QR ở quán, ở quầy thanh toán

Ở Việt Nam, mã QR xuất hiện nhiều nhất ở hai chỗ: thực đơn trên bàn và quầy thanh toán. Quán ăn in một mã cho thực đơn, khách quét là xem được món và giá. Người bán dùng VietQR để nhận tiền, người mua quét một lần là có sẵn số tài khoản và số tiền, khỏi gõ lại từng con số dễ nhầm.

Tiện là vậy, nhưng mã QR cũng chỉ là một vật chứa. Tin được hay không nằm ở nội dung bên trong và người đưa mã, chứ không nằm ở hình vuông. Các ngân hàng và cơ quan an toàn thông tin đã cảnh báo về mã QR giả mạo: kẻ gian dán mã giả đè lên mã thật, hoặc gửi mã lạ qua tin nhắn, để dẫn người quét tới trang giả mạo xin thông tin tài khoản và mã OTP. Thói quen an toàn rất đơn giản: trước khi bấm mở, bạn xem thử đường link mà điện thoại hiện ra, tên miền có quen không, có bắt đầu bằng https:// không. Nếu một mã lạ yêu cầu nhập mật khẩu hay mã OTP, bạn dừng lại.

Thử ngay: tạo và quét một mã QR thật

Nếu bạn muốn tự tay thử, công cụ tạo và quét mã QR của Công Cụ Việt (nói rõ luôn đây là công cụ do Công Cụ Việt làm) cho phép bạn nhập một đường link hoặc một đoạn văn bản rồi tạo hình mã ngay trên trình duyệt, hoặc quét lại một mã có sẵn bằng camera hay ảnh đã lưu. Công cụ tạo hình ở kích thước 250 nhân 250 pixel và luôn dùng mức sửa lỗi H, là mức bền nhất trong bốn mức.

Điểm yếu của công cụ này cũng nên nói thẳng. Công cụ không kiểm tra xem đường link bạn gõ có đúng hay không trước khi tạo mã, nên gõ sai địa chỉ vẫn tạo ra hình bình thường. Công cụ cho chọn màu mã và màu nền nhưng không kiểm tra độ tương phản, vì vậy mã nhạt trên nền nhạt có thể quét rất khó. Và khi quét được một địa chỉ thiếu giao thức, công cụ sẽ thêm http:// thay vì https://.

Dưới đây là một mã QR thật được tạo cho bài viết này, đã kiểm chứng bằng công cụ giải mã jsQR ngày 25/10/2026: quét thử sẽ tới đúng trang công cụ QR của Công Cụ Việt.

Mã QR thật dẫn tới công cụ tạo và quét mã QR của Công Cụ Việt
Mã QR thật trong bài: quét thử sẽ thấy đường link tới công cụ tạo và quét mã QR của Công Cụ Việt.

Họ hàng một chiều của mã QR là công cụ tạo mã vạch Barcode (EAN-13, EAN-8, UPC-A, Code 39, Code 128). Còn nếu bạn cần gửi file qua mã QR, công cụ chuyển file bằng QR động là công cụ liên quan đáng thử.

Kết luận: nên hiểu mã QR như thế nào?

Mã QR không phải phép màu, mà chỉ là cách viết chữ thành ô vuông để máy đọc được nhanh và bền hơn. Nó chứa được cả một đường link vì đường link vốn chỉ là một chuỗi ký tự.

Vì vậy, khi quét mã, bạn đừng tin vào hình vuông mà hãy tin vào đường link và người đưa mã. Mã của quán quen, của quầy thu ngân ngay trước mặt thì cứ quét thoải mái. Mã lạ dán ở cột điện hay gửi kèm tin nhắn trúng thưởng thì xem kỹ đường link trước khi bấm.

Hỏi đáp nhanh

Mã QR có chứa virus không?
Bản thân mã QR chỉ là dữ liệu, không phải chương trình nên không tự chạy hay tự cài đặt gì lên điện thoại. Nguy hiểm nằm ở đích đến: một đường link độc hại có thể dẫn tới trang lừa đảo hoặc trang ép tải file lạ.

Mã QR có hết hạn không?
Mã QR tĩnh không hết hạn theo thời gian, vì nội dung nằm ngay trong hình. Mã chỉ “hết tác dụng” khi đường link bên trong ngừng hoạt động. Mã QR động thì khác: nếu dịch vụ trung gian ngừng hoạt động, mã có thể mất tác dụng dù hình vẫn nguyên vẹn.

Quét mã QR có cần mạng không?
Việc đọc mã thì không cần mạng, vì điện thoại chỉ giải mã các ô vuông thành chuỗi ký tự. Nhưng để mở một đường link trong mã thì cần mạng, còn mã chứa văn bản ngắn thì bạn đọc được ngay cả khi không có mạng.

Nguồn: tài liệu chuẩn mã QR (ISO/IEC 18004), trang công cụ QR của Công Cụ Việt và cảnh báo về mã QR giả mạo. Mã QR thật trong bài tạo ngày 25/10/2026, đã kiểm chứng giải mã đúng đường link.

Đặt cạnh mã QR, có hai định dạng dữ liệu khác mà bạn gần như chắc chắn đã gặp khi làm việc trên web. Mã Base64 là gì và vì sao ảnh hay được mã hóa kiểu này lý giải cách ảnh biến thành chuỗi ký tự, còn JSON là gì cho thấy cách dữ liệu có cấu trúc được truyền giữa các hệ thống.

Bình luận vui vẻ - Yêu cầu nâng cấp

Cáo trợ lý