Профессиональный генератор QR-кодов
Профессиональный онлайн генератор QR-кодов, создающий коды непосредственно в вашем браузере. Поддерживает различные типы контента: URL, текст, Wi-Fi, vCard, SMS и email. Предлагает богатые возможности настройки стиля: форма модулей, стиль маркеров позиционирования, градиентные цвета, наложение логотипа, рамки и обводки. Поддерживает вывод в форматах PNG и SVG с возможностью загрузки и отправки в один клик. Данные не загружаются на сервер, сервис полностью бесплатный и без водяных знаков. Все операции выполняются локально в браузере, что гарантирует конфиденциальность и безопасность.
Генератор QR-кодов
Загружаемые изображения не имеют водяных знаков, а инструмент можно использовать бесплатно навсегда.
Инструкция по использованию
- Выберите тип (URL, текст, Wi-Fi, vCard, SMS, email), затем введите или вставьте содержимое.
- Настройте размер, отступы, цвета, уровень коррекции ошибок, а также стили (форма модулей/маркеры позиционирования), градиенты, логотипы, рамки и т.д.
- Выберите формат PNG или SVG.
- QR-код будет сгенерирован автоматически; вы можете «Скачать» или «Копировать» его после завершения процесса.
- При использовании логотипа или сложных стилей рекомендуется повысить уровень коррекции ошибок до H и оставить достаточно свободного пространства вокруг кода (тихие зоны).
- Для печати или отображения на экране убедитесь в достаточном контрасте между цветами переднего плана и фона, избегайте слишком малого размера и чрезмерной деформации.
Возможности
- Генерация исключительно на стороне клиента (без загрузки)
- Поддержка вывода в PNG и SVG
- Настраиваемые стили: форма, точки позиционирования, скругленные углы, отступы
- Градиенты (несколько цветов, несколько направлений)
- Наложение логотипа (опция автоматического повышения уровня коррекции ошибок)
- Рамки и обводки (скругленные, стиль карточки)
- Совместное использование и буфер обмена (ссылки/изображения)
- Поддержка нескольких языков и тем оформления
Что такое Finder Patterns?
Три больших квадрата в углах QR-кода называются Finder Patterns. Они помогают камере быстро определить положение и угол наклона QR-кода для коррекции искажений и декодирования. Обычно они имеют структуру модулей 7×7 (черный внешний контур, белая внутренняя область и черный центр) с чередованием черных и белых цветов.
- Функция: Быстрое позиционирование, защита от вращения и искажений перспективы.
- Стили: Инструмент поддерживает отображение маркеров поиска в виде квадратов, фигур со скругленными углами и «точечного стиля» (выберите в разделе Стиль → Маркер поиска).
Кто изобрел QR-код?
QR-код был изобретен в 1994 году Масохиро Харой, инженером компании Denso Wave в Японии. Аббревиатура QR расшифровывается как «Quick Response» (Быстрый отклик).
- Мотивация изобретения: Повышение эффективности идентификации на производственной линии автозапчастей и преодоление ограничений емкости и скорости считывания одномерных штрихкодов.
- Вдохновение для дизайна: Черно-белые камни для игры в го и матричные паттерны вдохновили на создание высокоустойчивого дизайна «модульный + позиционирующие графические элементы».
- Почему не требуется плата за патент: Denso Wave владеет товарным знаком и некоторыми патентами, но явно разрешает бесплатное использование для популяризации экосистемы (коммерческое использование допускается без лицензионных сборов).
Стандартные спецификации и рекомендации по использованию
- Международный стандарт: ISO/IEC 18004 (Спецификация двумерного символа QR Code), определяющая версии, маски, коррекцию ошибок, графическую структуру и т.д.
- Уровень коррекции ошибок: Четыре уровня: L/M/Q/H (примерно 7%/15%/25%/30% восстанавливаемых данных). Рекомендуется использовать более высокий уровень при наложении логотипа.
- Кодируемое содержимое: Текст, URL, vCard, Wi-Fi и др. Рекомендуется следовать соответствующим спецификациям формата URI/данных (например,
WIFI:T:WPA;S:SSID;P:PASS;;). - Печать и отображение: Обеспечьте контраст между передним планом и фоном, а также размер охранной зоны; избегайте чрезмерных искажений, слишком малого размера и помех от плотной текстуры.
- Доступность: В критических ситуациях рекомендуется предоставлять альтернативный текст или ссылки, чтобы не полагаться на QR-код как на единственный способ входа.
Генерация QR-кодов с помощью языков программирования
Ниже приведены простейшие примеры на популярных языках, подходящие для новичков и создания заготовок:
// Node: npm i qrcode
const QRCode = require('qrcode');
QRCode.toFile('qrcode.png', 'https://example.com', { errorCorrectionLevel: 'M' });
// Browser (Canvas):
// <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/browser.min.js"></script>
QRCode.toCanvas(document.getElementById('canvas'), 'Hello QR', { width: 256 });
# pip install qrcode[pil]
import qrcode
img = qrcode.make('https://example.com')
img.save('qrcode.png')
// composer require endroid/qr-code
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;
$qr = QrCode::create('https://example.com');
$writer = new PngWriter();
$result = $writer->write($qr);
$result->saveToFile(__DIR__.'/qrcode.png');
// go get -u github.com/skip2/go-qrcode
package main
import "github.com/skip2/go-qrcode"
func main() {
qrcode.WriteFile("https://example.com", qrcode.Medium, 256, "qrcode.png")
}
// Maven: com.google.zxing:core, com.google.zxing:javase
// Minimal ZXing example
import com.google.zxing.BarcodeFormat;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) throws Exception {
QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = writer.encode("https://example.com", BarcodeFormat.QR_CODE, 256, 256);
BufferedImage image = MatrixToImageWriter.toBufferedImage(matrix);
ImageIO.write(image, "png", new File("qrcode.png"));
}
}
// Cargo.toml
// qrcode = "0.13"
// image = "0.24"
use qrcode::QrCode;
use image::Luma;
fn main() {
let code = QrCode::new("https://example.com").unwrap();
let image = code.render<Luma<u8>>().min_dimensions(256, 256).build();
image.save("qrcode.png").unwrap();
}
Примечание: Различные библиотеки существенно различаются в поддерживаемых возможностях стилизации. Если вам нужны сложные стили (точки, градиенты, стили элементов позиционирования, рамки и т. д.), вы можете напрямую генерировать PNG/SVG с помощью этого инструмента и использовать их.