Перейти к основному содержимому
OpenQRS
Инструменты
Текущий язык: Русский
100% приватно

Генератор QR-кода с текстом

100% приватно и локально — ваши данные никогда не покидают браузер. Эти QR-коды постоянны и никогда не истекают.

Настройки: Текст

Здесь до 3000 символов. Настоящий потолок — один символ: 2953 байта на уровне L, 2331 на M, 1273 на H.

Введите текст, который должен показывать код.

Дизайн

Форма модулей
Пресеты
Рамка углов
Добавить логотип в центр
Выберите изображение или перетащите его сюдаPNG, JPEG, WebP или GIF, до 1000 КБ

Изображение читается на этой странице и встраивается в код как data: URL. Оно никуда не загружается и остаётся внутри файла, который вы скачиваете.

Ещё параметры дизайна

Тёмная половина кода. Держите её заметно темнее фона по светлоте.

Закрашивает и свободную зону, и промежутки между модулями. Прозрачный фон исключает его из файла, поэтому им ничего не рисуется.

Контраст 11.5:1 между модулями и фоном.

Пресеты

PNG и WebP сохраняют альфа-канал; в SVG прямоугольник фона просто отсутствует. Светлой половиной контраста становится то, на чём код размещён.

Градиент

Градиент заливает только тёмные модули. Контраст, который реально получает сканер, задаёт его светлый конец, поэтому оба конца должны оставаться тёмными.

Второй цвет, используется только при выбранном градиенте. Контраст измеряется по нему наравне с первым.

45°

Градусы по часовой стрелке от направления слева направо. Радиальный градиент расходится из центра, поэтому угол действует только для линейного.

Форма модулей

Скруглённые формы закрывают меньшую часть каждой ячейки. Центр остаётся закрытым, а именно его считывает декодер, но плотный код в мелкой печати надёжнее читается квадратами.

Рамка углов

Кольцо трёх поисковых узоров.

Центр углов

Зрачок внутри каждого поискового узора.

4 мод.

Пустое поле вокруг кода, измеряется в модулях. Стандарт задаёт минимум 4.

Более высокий уровень переносит больше повреждений и стоит ёмкости, поэтому то же содержимое даёт более плотный символ.

В центре стоит логотип, и он удерживает уровень H. Предел его ширины следует за символом: 14% на самом маленьком коде и 30% на плотном.

Предпросмотр и экспорт

Экспорт

Экспорт

Растр, для экранов

Заполните форму, чтобы включить скачивание.

Размер экспорта и закодированный текст
Данные
Пока не закодировано
Символ
Ещё не построен
Коррекция
M

Ожидание ввода

Размер экспорта

От 64 до 4096 пикселей. Экспорт при 1024 px.

Закодированный текст

Обычный текст — единственная полезная нагрузка QR, которой не нужна сеть: слова лежат внутри напечатанного квадрата. Сканеры показывают их и на этом останавливаются: ссылки нет и загружать нечего.

Когда его сканируют

Сканер показывает текст как текст: приложение не открывается, страница не загружается и подключение не требуется.

Единственная полезная нагрузка, которой не нужна сеть

Любой другой формат на этом сайте заканчивается тем, что что-то загружается или набирается. Обычный текст — нет. Символы лежат в модулях, поэтому код на вентиле в подвале, этикетка в холодильной камере или карточка в музейной витрине читаются одинаково без связи, без тарифа на данные и без работающего DNS.

Это же полезная нагрузка без поверхности атаки. Сканер, показывающий текст, нельзя уговорить зайти на страницу, поэтому текстовый код нельзя подменить фишинговым назначением так, чтобы подмена не была видна в самих словах.

  • Инструкции по обслуживанию, напечатанные на том оборудовании, которое они описывают
  • Инвентарные метки, серийные номера и адреса ячеек, которые переживают склад без покрытия
  • Заметки о вине или об экспонате, где ссылка была бы лишним шагом

Сколько помещается и чего это стоит в размере печати

Четырнадцать байт умещаются в символ версии 1 на уровне коррекции M — 21 модуль в поперечнике, самый маленький QR-код, какой бывает. Тремстам символам нужна версия 13, 69 модулей в поперечнике. Потолок на уровне M — 2331 байт, это версия 40 при 177 модулях в поперечнике.

Эти числа модулей и есть вся история печати. При одной и той же ширине печати у символа на 177 модулей модули примерно в восемь раз уже, чем у символа на 21, поэтому ему нужна либо намного более крупная печать, либо намного более близкая камера. Всё, что идёт на этикетку меньше открытки, лучше держать примерно до 300 символов.

Живой счётчик рядом с полем считает байты, а не символы, потому что символ вмещает именно байты.

  • 14 байт: версия 1, 21 модуль в поперечнике
  • 300 символов: версия 13, 69 модулей в поперечнике
  • 2331 байт: версия 40 на уровне M, 177 модулей в поперечнике и конец формата

Переводы строки, диакритика и старые сканеры

Переводы строки кодируются как написано, и большинство сканеров показывают их отдельными строками, что делает практичными короткий список или адресный блок. Пробелы в начале и конце сохраняются, потому что в серийном номере они могут иметь значение.

Байтовый режим специфицирован как ISO-8859-1, но на практике сканеры предполагают UTF-8, и нынешние камеры телефонов расшифровывают его правильно. Стационарный промышленный сканер прошлого поколения всё ещё может показать символ с диакритикой как два неверных, поэтому проверяйте на том устройстве, которое действительно будет читать.

Символы вне ASCII стоят больше одного байта каждый: é — два байта в UTF-8, знак CJK — три, пиктограмма — четыре. Поэтому счёт символов и счёт байт расходятся, как только вы выходите за пределы обычного ASCII.

Вопросы и ответы

Сколько текста вмещает один QR-код?

2953 байта на уровне коррекции L, 2331 на M, 1663 на Q и 1273 на H. В обычном ASCII это один байт на символ; символы с диакритикой и знаки CJK берут от двух до четырёх каждый.

Переживут ли мои переводы строки сканирование?

Они кодируются точно, и большинство сканеров отрисовывают их отдельными строками. Некоторые компактные сканеры сводят всё в один абзац, поэтому не полагайтесь на переводы строки в передаче смысла, которого нет в самих словах.

Работает ли это без связи?

Да. Это единственная здешняя полезная нагрузка, которой ни в один момент ничего не нужно от сети. Текст лежит в напечатанном символе.

Почему мой текст отклонили, хотя счётчик был меньше 3000?

Либо в нём есть многобайтовые символы, и тогда счёт байт выше счёта символов, либо уровень коррекции задан выше L. Уровень H вмещает 1273 байта против 2953, доступных на L.

Как работает статический QR-код

Каждый код на этом сайте статический: данные записаны в сами чёрно-белые модули. При чтении кода ничего не запрашивается, ни один наш сервер в этом не участвует и никакая подписка не держит напечатанный код на плаву. То же свойство и есть ограничение: после печати изменить его содержимое нельзя.

Дальше то, прочитается ли напечатанный код, решают три вещи: во сколько байт вышли данные, какой уровень коррекции поглощает повреждения и какой ширины получается один модуль на бумаге. Эти руководства разбирают каждую из них с цифрами.