Tạo mã QR từ bất kỳ văn bản hoặc URL nào với công cụ đơn giản này. Ngay lập tức tạo mã QR có thể quét được với giao diện sạch sẽ, tối giản và tải xuống chỉ với một cú nhấp chuột.
Nhập văn bản hoặc URL ở trên để tạo mã QR. Mã QR sẽ tự động cập nhật khi bạn gõ.
Mã QR (mã phản hồi nhanh) đã cách mạng hóa cách chúng ta chia sẻ thông tin trong thời đại kỹ thuật số. Trình tạo mã QR miễn phí của chúng tôi cho phép bạn tạo mã QR ngay lập tức cho URL, văn bản, thông tin liên hệ và nhiều hơn nữa. Công cụ đơn giản, thân thiện với người dùng này tạo ra các mã QR có thể quét được mà bạn có thể tải xuống và sử dụng trên nhiều nền tảng và tài liệu khác nhau, nối liền khoảng cách giữa thế giới vật lý và kỹ thuật số.
Mã QR được phát minh vào năm 1994 bởi Denso Wave, một công ty ô tô Nhật Bản, để theo dõi xe cộ trong quá trình sản xuất. Ngày nay, những mã vạch hai chiều này đã trở nên phổ biến trong marketing, thanh toán, chia sẻ thông tin và vô số ứng dụng khác. Sự phổ biến của chúng đã tăng vọt trong đại dịch COVID-19 khi các doanh nghiệp tìm kiếm giải pháp không tiếp xúc cho thực đơn, thanh toán và chia sẻ thông tin.
Trình tạo mã QR của chúng tôi tập trung vào sự đơn giản và hiệu quả, cho phép bất kỳ ai cũng có thể tạo mã QR chức năng mà không cần kiến thức kỹ thuật hay cấu hình phức tạp.
Mã QR lưu trữ thông tin trong một mẫu hình các ô đen được sắp xếp trên nền trắng. Khác với mã vạch truyền thống chỉ có thể lưu trữ thông tin theo chiều ngang, mã QR lưu trữ dữ liệu cả theo chiều ngang và chiều dọc, cho phép chúng chứa nhiều thông tin hơn đáng kể.
Một mã QR tiêu chuẩn bao gồm một số thành phần chính:
Khi bạn nhập văn bản hoặc URL vào trình tạo mã QR của chúng tôi, quy trình sau sẽ diễn ra:
Mã QR bao gồm khả năng sửa lỗi tích hợp, cho phép chúng được đọc ngay cả khi bị hư hại hoặc bị che khuất một phần. Có bốn mức độ sửa lỗi:
Trình tạo của chúng tôi sử dụng mức độ sửa lỗi tối ưu để cân bằng giữa kích thước mã và độ tin cậy.
Dung lượng dữ liệu của một mã QR phụ thuộc vào phiên bản (kích thước) và mức độ sửa lỗi. Công thức để tính toán số lượng bit tối đa mà một mã QR có thể chứa là:
Trong đó Mã dữ liệu được xác định bởi:
Đối với mã QR phiên bản 1 với mức sửa lỗi L:
Số lượng ký tự có thể được mã hóa phụ thuộc vào chế độ mã hóa:
Mã QR sử dụng mã sửa lỗi Reed-Solomon để phát hiện và sửa lỗi. Số lượng lỗi có thể được sửa là:
Trong đó:
Quy trình sửa lỗi Reed-Solomon có thể được biểu diễn bằng toán học như sau:
Trong đó:
Các mẫu mặt nạ được áp dụng cho mã QR để đảm bảo phân phối tối ưu của các mô-đun đen và trắng. Mẫu được chọn bằng cách đánh giá một điểm phạt cho mỗi 8 mẫu mặt nạ có thể (0-7) và chọn mẫu có điểm phạt thấp nhất.
Điểm phạt được tính toán dựa trên bốn quy tắc:
Tạo mã QR với công cụ của chúng tôi rất đơn giản và không yêu cầu kiến thức kỹ thuật. Làm theo các bước đơn giản sau:
1 <input type="text" id="qr-input" placeholder="Nhập URL hoặc văn bản" value="https://example.com">
2
1 document.getElementById('generate-btn').addEventListener('click', function() {
2 const data = document.getElementById('qr-input').value;
3 generateQRCode(data, 'qr-output');
4 });
5
6 function generateQRCode(data, elementId) {
7 // Xóa mã QR trước đó
8 document.getElementById(elementId).innerHTML = '';
9
10 // Tạo mã QR mới
11 new QRCode(document.getElementById(elementId), {
12 text: data,
13 width: 256,
14 height: 256,
15 colorDark: "#000000",
16 colorLight: "#ffffff",
17 correctLevel: QRCode.CorrectLevel.H
18 });
19 }
20
1 document.getElementById('download-btn').addEventListener('click', function() {
2 const canvas = document.querySelector('#qr-output canvas');
3 if (canvas) {
4 const url = canvas.toDataURL('image/png');
5 const a = document.createElement('a');
6 a.download = 'qrcode.png';
7 a.href = url;
8 document.body.appendChild(a);
9 a.click();
10 document.body.removeChild(a);
11 }
12 });
13
Nếu bạn muốn triển khai việc tạo mã QR trong ứng dụng của riêng bạn, đây là các ví dụ bằng các ngôn ngữ lập trình khác nhau:
1<!DOCTYPE html>
2<html>
3<head>
4 <title>Trình tạo mã QR</title>
5 <script src="https://cdn.jsdelivr.net/npm/qrcode@1.4.4/build/qrcode.min.js"></script>
6 <style>
7 body { font-family: Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; }
8 .container { display: flex; flex-direction: column; align-items: center; }
9 input { width: 100%; padding: 10px; margin-bottom: 20px; }
10 button { padding: 10px 20px; background: #2563EB; color: white; border: none; cursor: pointer; }
11 #qrcode { margin-top: 20px; }
12 </style>
13</head>
14<body>
15 <div class="container">
16 <h1>Trình tạo mã QR</h1>
17 <input type="text" id="text" placeholder="Nhập URL hoặc văn bản" value="https://example.com">
18 <button onclick="generateQR()">Tạo mã QR</button>
19 <div id="qrcode"></div>
20 </div>
21
22 <script>
23 function generateQR() {
24 const text = document.getElementById('text').value;
25 document.getElementById('qrcode').innerHTML = '';
26
27 QRCode.toCanvas(document.createElement('canvas'), text, function (error, canvas) {
28 if (error) console.error(error);
29 document.getElementById('qrcode').appendChild(canvas);
30 });
31 }
32 </script>
33</body>
34</html>
35
1# Sử dụng thư viện qrcode
2import qrcode
3from PIL import Image
4
5def generate_qr_code(data, filename="qrcode.png"):
6 qr = qrcode.QRCode(
7 version=1,
8 error_correction=qrcode.constants.ERROR_CORRECT_M,
9 box_size=10,
10 border=4,
11 )
12 qr.add_data(data)
13 qr.make(fit=True)
14
15 img = qr.make_image(fill_color="black", back_color="white")
16 img.save(filename)
17 return filename
18
19# Ví dụ sử dụng
20url = "https://example.com"
21generate_qr_code(url, "example_qr.png")
22
1// Sử dụng thư viện ZXing
2import com.google.zxing.BarcodeFormat;
3import com.google.zxing.WriterException;
4import com.google.zxing.client.j2se.MatrixToImageWriter;
5import com.google.zxing.common.BitMatrix;
6import com.google.zxing.qrcode.QRCodeWriter;
7
8import java.io.IOException;
9import java.nio.file.FileSystems;
10import java.nio.file.Path;
11
12public class QRCodeGenerator {
13
14 public static void generateQRCode(String data, String filePath, int width, int height)
15 throws WriterException, IOException {
16 QRCodeWriter qrCodeWriter = new QRCodeWriter();
17 BitMatrix bitMatrix = qrCodeWriter.encode(data, BarcodeFormat.QR_CODE, width, height);
18
19 Path path = FileSystems.getDefault().getPath(filePath);
20 MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
21 }
22
23 public static void main(String[] args) {
24 try {
25 generateQRCode("https://example.com", "qrcode.png", 350, 350);
26 } catch (WriterException | IOException e) {
27 System.out.println("Lỗi khi tạo mã QR: " + e.getMessage());
28 }
29 }
30}
31
1<?php
2// Sử dụng thư viện PHP QR Code
3// Đầu tiên cài đặt: composer require endroid/qr-code
4
5require 'vendor/autoload.php';
6
7use Endroid\QrCode\QrCode;
8use Endroid\QrCode\Writer\PngWriter;
9
10function generateQRCode($data, $filename = 'qrcode.png') {
11 $qrCode = new QrCode($data);
12 $qrCode->setSize(300);
13 $qrCode->setMargin(10);
14
15 $writer = new PngWriter();
16 $result = $writer->write($qrCode);
17
18 // Lưu vào tệp
19 $result->saveToFile($filename);
20
21 return $filename;
22}
23
24// Ví dụ sử dụng
25$url = 'https://example.com';
26$file = generateQRCode($url);
27echo "Mã QR đã lưu tại: " . $file;
28?>
29
1// Sử dụng thư viện ZXing.Net
2// Đầu tiên cài đặt: Install-Package ZXing.Net
3
4using System;
5using System.Drawing;
6using System.Drawing.Imaging;
7using ZXing;
8using ZXing.QrCode;
9
10namespace QRCodeGeneratorApp
11{
12 class Program
13 {
14 static void Main(string[] args)
15 {
16 string data = "https://example.com";
17 string filePath = "qrcode.png";
18
19 GenerateQRCode(data, filePath);
20 Console.WriteLine($"Mã QR đã lưu tại: {filePath}");
21 }
22
23 static void GenerateQRCode(string data, string filePath)
24 {
25 var qrCodeWriter = new BarcodeWriter
26 {
27 Format = BarcodeFormat.QR_CODE,
28 Options = new QrCodeEncodingOptions
29 {
30 Height = 300,
31 Width = 300,
32 Margin = 1
33 }
34 };
35
36 using (var bitmap = qrCodeWriter.Write(data))
37 {
38 bitmap.Save(filePath, ImageFormat.Png);
39 }
40 }
41 }
42}
43
Mã QR có nhiều ứng dụng đa dạng trong nhiều ngành công nghiệp và sử dụng cá nhân:
Để đảm bảo mã QR của bạn hiệu quả và thân thiện với người dùng:
Mặc dù mã QR rất linh hoạt, việc hiểu các giới hạn của chúng giúp tạo ra các triển khai hiệu quả hơn:
Số lượng dữ liệu mà một mã QR có thể lưu trữ phụ thuộc vào:
Dung lượng tối đa ước tính:
Trình tạo của chúng tôi tự động tối ưu hóa các yếu tố này dựa trên đầu vào của bạn.
Một số yếu tố ảnh hưởng đến độ tin cậy mà mã QR có thể được quét:
Khi triển khai mã QR, hãy xem xét khả năng tiếp cận cho tất cả người dùng:
Mã QR (mã phản hồi nhanh) là một mã vạch hai chiều lưu trữ thông tin trong một mẫu hình các ô đen trên nền trắng. Khi được quét bằng camera smartphone hoặc ứng dụng quét mã QR, nó nhanh chóng cung cấp quyền truy cập vào thông tin được mã hóa, có thể là một URL trang web, văn bản thuần túy, thông tin liên hệ hoặc các loại dữ liệu khác.
Mã QR có thể lưu trữ lượng dữ liệu khác nhau tùy thuộc vào phiên bản và mức độ sửa lỗi. Ở dung lượng tối đa, mã QR có thể lưu trữ lên đến 7,089 ký tự số, 4,296 ký tự chữ cái số, 2,953 byte dữ liệu nhị phân hoặc 1,817 ký tự Kanji.
Các mã QR cơ bản không tự nó an toàn vì chúng chỉ đơn giản là lưu trữ và hiển thị thông tin. Người dùng nên cẩn thận khi quét các mã QR không rõ nguồn gốc, vì chúng có thể liên kết đến các trang web độc hại. Đối với các doanh nghiệp triển khai mã QR, việc sử dụng các trình tạo đáng tin cậy và hướng người dùng đến các trang web an toàn (https) là điều được khuyến nghị.
Mặc dù trình tạo đơn giản của chúng tôi tập trung vào việc tạo ra các mã QR tiêu chuẩn, có thể tùy chỉnh mã QR với màu sắc và logo bằng cách sử dụng các công cụ chuyên dụng. Tuy nhiên, việc tùy chỉnh nên được thực hiện cẩn thận để duy trì khả năng quét bằng cách bảo tồn độ tương phản đầy đủ và không che khuất các mẫu quan trọng.
Mã QR tự nó không hết hạn - chúng chỉ là một biểu diễn hình ảnh của dữ liệu được mã hóa. Tuy nhiên, nếu một mã QR liên kết đến nội dung thay đổi (như một trang web không còn hoạt động hoặc một chương trình khuyến mãi tạm thời), đích đến có thể trở nên không khả dụng. Các mã QR tĩnh chỉ chứa thông tin văn bản sẽ luôn hiển thị thông tin đó khi quét.
Trình tạo đơn giản của chúng tôi tạo ra các mã QR tĩnh mà không có phân tích tích hợp. Để theo dõi quét, bạn sẽ cần sử dụng dịch vụ mã QR động cung cấp phân tích, hoặc liên kết đến một URL với các tham số theo dõi mà phân tích trang web của bạn có thể theo dõi.
Mã vạch truyền thống lưu trữ dữ liệu trong một chiều (theo chiều ngang) và thường chứa dữ liệu số giới hạn như ID sản phẩm. Mã QR lưu trữ thông tin cả theo chiều ngang và chiều dọc (hai chiều), cho phép chúng chứa nhiều dữ liệu hơn và các loại thông tin khác nhau, bao gồm URL, văn bản và thông tin liên hệ.
Có, mã QR bao gồm khả năng sửa lỗi cho phép chúng được quét ngay cả khi bị hư hại hoặc che khuất một phần. Mức độ chịu đựng hư hại phụ thuộc vào mức độ sửa lỗi được sử dụng khi tạo mã, với các mức cao hơn cho phép khả năng chống hư hại nhiều hơn với chi phí giảm dung lượng dữ liệu.
Hầu hết các smartphone hiện đại có thể quét mã QR trực tiếp thông qua ứng dụng camera tích hợp của chúng. Chỉ cần mở camera và hướng nó về phía mã QR. Đối với các thiết bị cũ hơn, bạn có thể cần tải xuống một ứng dụng quét mã QR chuyên dụng từ cửa hàng ứng dụng của thiết bị.
Trình tạo đơn giản của chúng tôi được thiết kế để tạo ra một mã QR tại một thời điểm. Đối với việc tạo hàng loạt, bạn có thể cần phần mềm hoặc dịch vụ chuyên dụng được thiết kế cho mục đích đó.
Denso Wave (Người phát minh ra mã QR). "Lịch sử của mã QR." https://www.qrcode.com/en/history/
Tổ chức Tiêu chuẩn Quốc tế. "ISO/IEC 18004:2015 - Công nghệ thông tin — Kỹ thuật nhận dạng tự động và thu thập dữ liệu — Đặc tả mã vạch QR." https://www.iso.org/standard/62021.html
Tiwari, S. (2016). "Giới thiệu về công nghệ mã QR." Hội nghị Quốc tế về Công nghệ Thông tin, 39-44. DOI: 10.1109/ICIT.2016.38
Wave, D. (2020). "Cơ bản về mã QR." QR Code.com. https://www.qrcode.com/en/about/
Winter, M. (2011). "Quét tôi: Hướng dẫn của mọi người về thế giới kỳ diệu của mã QR." Westsong Publishing.
Trình tạo mã QR của chúng tôi giúp bạn dễ dàng tạo ra các mã QR có thể quét được chỉ trong vài giây. Dù bạn đang liên kết đến trang web của mình, chia sẻ thông tin liên hệ, hay cung cấp quyền truy cập nhanh đến các chi tiết quan trọng, công cụ của chúng tôi giúp bạn nối liền thế giới vật lý và kỹ thuật số với nỗ lực tối thiểu.
Hãy thử trình tạo mã QR của chúng tôi ngay bây giờ—không cần đăng ký, không cần cấu hình phức tạp, chỉ cần tạo mã QR ngay tại đầu ngón tay bạn.
Khám phá thêm các công cụ có thể hữu ích cho quy trình làm việc của bạn