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

Генератор QR-кода для скачивания приложения

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

Настройки: Приложение

Один код несёт один адрес. Вариант с собственной страницей — единственный, который с одного печатного кода доводит и владельцев iPhone, и владельцев Android.

Страница на вашем домене с кнопками обоих магазинов или ваше собственное серверное перенаправление, читающее user agent.

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

Дизайн

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

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

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

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

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

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

Пресеты

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

Градиент

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

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

45°

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

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

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

Рамка углов

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

Центр углов

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

4 мод.

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

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

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

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

Экспорт

Экспорт

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

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

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

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

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

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

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

Закодируйте ссылку на App Store, ссылку на Google Play или собственную страницу, где есть обе. Какой из трёх вариантов несёт код, решаете вы, и это сказано ниже прямо, потому что один код не может решить это за вас.

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

Телефон открывает выбранный вами адрес: ссылка в магазин обычно передаёт управление приложению App Store или Play Маркет, а ссылка на вашу страницу открывается в браузере.

Почему один код не может отправить iPhone и Android в разные магазины

QR-код — это фиксированная строка символов. Напечатанный узор кодирует эту строку и ничего больше: внутри нет логики, нет переменных и нет способа посмотреть, какой телефон его читает.

Продукты, которые как будто ветвятся по операционной системе, делают это на шаг позже. Код несёт ссылку на сервис перенаправления, сервис получает запрос, читает заголовок User-Agent, который присылает телефон, и отвечает перенаправлением в подходящий магазин. Ветвление происходит на сервере.

У этого сайта нет сервера. Каждая страница — статический файл, а кодирование выполняется в вашем браузере, и именно это оставляет данные локальными, а коды — без срока действия. Но это же означает, что здесь нет ничего, что могло бы принять сканирование и решить, куда его отправить. Вместо того чтобы делать вид, будто это не так, этот инструмент кодирует ровно один адрес и спрашивает у вас, какой.

Как работать с собственной страницей

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

Самый простой — обычная страница, example.com/get-the-app, с кнопкой App Store и кнопкой Play на ней. Выбирает посетитель. Это стоит одного лишнего касания, работает в настольных браузерах и на платформах, которых не покрывает ни один из магазинов, и никогда не ломается. Другой вариант — серверное перенаправление по тому же пути, которое смотрит на User-Agent и выдаёт 302 в нужный магазин, откатываясь на страницу с двумя кнопками, когда заголовок незнакомый.

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

  • Страница с двумя кнопками: без серверной логики, работает везде, одно лишнее касание
  • Перенаправление по User-Agent: одно касание, нужен сервер, нужен запасной вариант для незнакомых агентов
  • Оба оставляют напечатанный код направленным на путь, которым владеете вы

Форматы ссылок в магазины, которые стоит знать

Страницы Apple живут по адресу apps.apple.com/app/id, за которым идёт числовой идентификатор приложения, часто с сегментом страны вроде /gb/ или /us/ перед ним. Указание страны привязывает ссылку к этой витрине; если его не ставить, Apple выбирает по региону учётной записи — обычно напечатанному коду нужно именно это.

Страницы Google Play — это play.google.com/store/apps/details?id=, за которым идёт имя пакета, например com.example.app. Оба магазина дописывают кампанийные и реферальные параметры, когда вы копируете ссылку из маркетингового кабинета. Эти параметры удлиняют полезную нагрузку и делают напечатанную сетку плотнее, поэтому убирайте всё, что вам не нужно, перед кодированием.

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

Любой другой генератор предлагает код сразу для iOS и Android. Почему не этот?

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

Сработает ли ссылка в App Store, если её сканирует телефон Android?

Она откроется, но без пользы. Браузер Android загрузит веб-страницу App Store, которая покажет карточку приложения и ничего не сможет установить. Обратное точно так же: ссылка Play на iPhone отрисует веб-страницу без пути к установке. Именно для этого случая и существует вариант с собственной страницей.

Можно ли добавить метку кампании, чтобы видеть, откуда пришли установки?

Можно — оба магазина принимают собственные параметры атрибуции, а сюда вы вставляете готовый адрес. Учтите, что параметры удлиняют строку, а это поднимает версию QR и уменьшает модули при любом заданном размере печати. После их добавления проверьте, что код всё ещё сканируется с задуманного расстояния.

Что делать, если моего приложения нет ни в одном магазине?

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

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

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

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