Профессиональный генератор QR-кодов

Профессиональный онлайн генератор QR-кодов, создающий коды непосредственно в вашем браузере. Поддерживает различные типы контента: URL, текст, Wi-Fi, vCard, SMS и email. Предлагает богатые возможности настройки стиля: форма модулей, стиль маркеров позиционирования, градиентные цвета, наложение логотипа, рамки и обводки. Поддерживает вывод в форматах PNG и SVG с возможностью загрузки и отправки в один клик. Данные не загружаются на сервер, сервис полностью бесплатный и без водяных знаков. Все операции выполняются локально в браузере, что гарантирует конфиденциальность и безопасность.

Бесплатно навсегда Без водяных знаков Генерация только локально PNG / SVG

Генератор QR-кодов

Быстрые пресеты стилей Применяйте одним щелчком, а затем тонко настройте параметры стиля.
Настройки стиля
Рамка
Расширенные настройки
Градиент
Логотип
Поддерживается только в режиме PNG. Изображения обрабатываются локально и не загружаются на сервер.
logo preview
Примечание: Стили применяются только к холстам PNG. Поддержка пользовательского рендеринга SVG появится в ближайшее время.
Предпросмотр
Предпросмотр обновляется автоматически после ввода или изменения содержимого и настроек стиля.

Загружаемые изображения не имеют водяных знаков, а инструмент можно использовать бесплатно навсегда.

Инструкция по использованию

  • Выберите тип (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-кодов с помощью языков программирования

Ниже приведены простейшие примеры на популярных языках, подходящие для новичков и создания заготовок:

JavaScript(Node/Browser)
// 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 });
Python
# pip install qrcode[pil]
import qrcode
img = qrcode.make('https://example.com')
img.save('qrcode.png')
PHP
// 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
// 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")
}
Java
// 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"));
  }
}
Rust
// 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 с помощью этого инструмента и использовать их.