Phát triển Web

QR Code Generator / Reader

Tạo mã QR từ văn bản hoặc URL, hoặc đọc nội dung từ hình ảnh đã tải lên.

Mã QR sẽ hiện ở đây.

A QR code is a two-dimensional barcode that encodes text, a URL, or other data so a camera can read it instantly. This tool generates a QR code from text you type and, the other way around, reads the content out of an uploaded image — all in the browser.

How to use it

Common uses

Things to keep in mind

A higher error-correction level (H instead of L) makes the code more resistant to damage but also denser — it holds less data at the same physical size.

A QR code doesn't hide its content — anyone can read it the same way you did, so never encode passwords or private data in one.

Bài viết về công cụ này: Mã QR: một liên kết vừa vặn trong ô vuông điểm ảnh như thế nào

Câu hỏi thường gặp

Mức độ sửa lỗi (L/M/Q/H) thay đổi điều gì?

Các mức cao hơn, lên đến H khoảng 30%, giữ mã QR có thể đọc được ngay cả khi một phần bị hỏng hoặc bị che khuất, nhưng cũng giảm lượng dữ liệu vừa với một kích thước nhất định — L khoảng 7% chứa được nhiều dữ liệu nhất nhưng chịu được ít hư hỏng nhất.

Vì sao không đọc được hình ảnh mã QR của tôi?

Việc đọc sử dụng thư viện jsqr để giải mã hình ảnh cục bộ; nó có thể thất bại với ảnh mờ, chụp nghiêng, hoặc lóa sáng nhiều, nên một bức ảnh rõ nét, thẳng góc với độ tương phản tốt sẽ hoạt động tốt nhất.

Dữ liệu hoặc hình ảnh của tôi có được tải lên đâu không?

Không, cả việc tạo và đọc mã QR đều diễn ra hoàn toàn trong trình duyệt của bạn bằng các thư viện JavaScript — không có gì rời khỏi thiết bị của bạn.

Vì sao lượng dữ liệu một mã QR chứa được lại phụ thuộc vào loại nội dung?

Một mã QR hỗ trợ nhiều chế độ mã hóa — số, chữ và số, và byte — mỗi chế độ dùng số bit khác nhau cho mỗi ký tự; chế độ số (chỉ chữ số) gọn nhất, còn chế độ byte cho văn bản tùy ý (như chữ không phải Latin) chiếm nhiều không gian nhất, nên chứa được ít ký tự hơn trong một mã có cùng kích thước.

Số ký tự tối đa mà một mã QR có thể chứa là bao nhiêu?

Tùy thuộc vào phiên bản của mã và mức sửa lỗi — phiên bản lớn nhất (40) với mức sửa lỗi thấp nhất L có thể chứa tới 7089 chữ số hoặc 4296 ký tự chữ và số, nhưng trong thực tế hiếm khi dùng quá vài trăm ký tự để đảm bảo quét đáng tin cậy.

Bài viết: Phát triển Web

HEX, RGB, HSL: vì sao có nhiều cách viết một màu đến vậy

Vì sao các nhà thiết kế thường chọn HSL thay vì HEX khi chọn sắc độ màu bằng tay.

Rút gọn CSS: điều gì thực sự bị loại bỏ khỏi tệp và vì sao

Vì sao CSS đã rút gọn hoạt động chính xác như cũ trong trình duyệt, dù trở nên khó đọc với con người.

Rút gọn JavaScript: sự khác biệt giữa rút gọn và làm rối mã

Vì sao mã đã rút gọn vẫn có thể đọc được nếu muốn, còn mã đã làm rối thì không.

Rút gọn HTML: vì sao khoảng trắng trong markup lại có ý nghĩa

Vì sao loại bỏ khoảng trắng bên trong <pre> hoặc một textarea có thể phá vỡ giao diện trang, khác với hầu hết mọi nơi khác.

Gradient CSS: linear khác gì với radial và conic

Vì sao conic-gradient phù hợp với biểu đồ tròn, còn radial-gradient tạo hiệu ứng vệt sáng.

Thuật toán Luhn: cách kiểm tra tính đúng đắn của số thẻ

Vì sao một số thẻ vượt qua kiểm tra Luhn không có nghĩa là thẻ đó thực sự tồn tại.

IBAN: cấu trúc của một số tài khoản ngân hàng quốc tế

Vì sao hai chữ cái đầu tiên của IBAN là mã quốc gia, không phải một phần của số tài khoản.

Mã vạch: Code 128 khác gì với EAN-13

Vì sao sản phẩm trên kệ hàng gần như luôn dùng EAN-13 thay vì Code 128.

Ảnh placeholder: vì sao ảnh giả lại quan trọng trong quá trình phát triển

Vì sao các nhà phát triển cố tình chèn hình chữ nhật xám thay vì ảnh thật khi một bố cục vẫn đang được xây dựng.