OpenQR

официальный

Генерируйте QR-коды и управляйте динамическими (редактируемыми) QR-кодами с аналитикой сканирований через размещённый MCP-сервер (17 инструментов) и бесплатный REST API.

Что можно делать с OpenQR MCP?

  • Генерация статических QR-кодов — Запросите QR-код из любого текста или URL-адреса с помощью generate_qr, получив PNG или SVG.
  • Создание редактируемых динамических кодов — Используйте create_dynamic_qr, чтобы создать QR-код, назначение которого можно изменить позже без повторной печати.
  • Обновление и управление кодами — Изменяйте назначения, метки, теги или папки с помощью update_dynamic_qr, а также просматривайте и удаляйте их через list_dynamic_qr и delete_dynamic_qr.
  • Массовое создание для печатных кампаний — Генерируйте до 200 динамических кодов за раз с помощью bulk_create_dynamic_qr.
  • Организация с помощью папок и тем — Создавайте папки через create_folder и сохраняйте многоразовые пресеты стилей с помощью create_theme для единообразного брендинга.
  • Отслеживание аналитики сканирований — Получайте статистику сканирований для любого динамического кода с помощью get_scans, включая данные на уровне стран.

Документация

OpenQR

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

License: AGPL-3.0 Next.js No watermark

Большинство онлайн-генераторов QR-кодов заманивают вас словом «бесплатно», а затем добавляют водяной знак, ограничивают размер загрузки, прячут экспорт в векторных форматах за платным доступом или пропускают ваш код через свои серверы, так что он перестаёт работать, когда вы перестаёте платить. QR-код — это просто открытый стандарт (ISO/IEC 18004), генерация которого ничего не стоит. OpenQR сохраняет этот принцип.

Этот репозиторий — базовый инструмент генератора — эталонная реализация с открытым исходным кодом. Он намеренно небольшой и его легко форкнуть.

Хостинговая версия: бесплатный API, MCP-сервер и редактируемые коды

Всё в этом репозитории остаётся бесплатным, без водяных знаков и без срока действия. Хостинговая сборка на openqr.uk добавляет необязательный уровень аккаунта для тех, кому нужны редактируемые коды и автоматизация:

  • Динамические / редактируемые QR-коды с аналитикой сканирований. Меняйте адрес назначения после печати. 3 бесплатно на бесплатном аккаунте (7 дней статистики сканирований по странам); безлимитно на Pro за £9/месяц или £72/год, что также открывает полную историю аналитики, детализацию по городам и регионам, разбивку по устройствам и реферерам с экспортом в CSV, фирменный поддомен и коды с паролем.
  • Бесплатный REST API. Генерируйте коды и управляйте динамическими кодами программно. Спецификация OpenAPI по адресу /openapi.json; интерактивная документация — на openqr.uk/api.
  • Хостинговый MCP-сервер по адресу https://openqr.uk/mcp (Streamable HTTP, 17 инструментов). Генерируйте и управляйте QR-кодами прямо из Claude, Cursor или любого MCP-клиента. Указан в официальном реестре MCP. Клиенты с поддержкой удалённого подключения подключаются к этому URL напрямую; клиенты только со stdio могут подключиться к нему через npx -y @open-qr/mcp и OPENQR_API_KEY (подробности).

Статический генератор в этом репозитории никогда не обращается к этим сервисам. Он остаётся на 100% клиентским (см. Конфиденциальность), и ни одна из этих функций не требуется для использования или самостоятельного хостинга генератора.

Инструменты

Хостинговый MCP-сервер по адресу https://openqr.uk/mcp предоставляет эти 17 инструментов. Для каждого инструмента требуется бесплатный API-ключ — создайте его на openqr.uk/api и передайте как Authorization: Bearer oqr_... при подключении к MCP.

ИнструментЧто делает
generate_qrГенерирует статический QR-код из любого текста или URL. Возвращает PNG-изображение или SVG-разметку.
create_dynamic_qrСоздаёт редактируемый QR-код, адрес назначения которого можно изменить позже без перепечатки.
update_dynamic_qrИзменяет адрес назначения, метку, пользовательскую короткую ссылку, теги или папку динамического кода.
get_dynamic_qrПолучает полные сведения об одном коде: адрес назначения, короткая ссылка, метка, тип, теги, папка, статус, дата создания.
get_scansСтатистика сканирований для динамического кода.
list_dynamic_qrСписок ваших динамических кодов с id, коротким URL, адресом назначения, меткой и статусом.
delete_dynamic_qrОкончательно удаляет динамический код. Его короткая ссылка перестаёт работать.
bulk_create_dynamic_qrСоздаёт до 200 динамических кодов за раз.
list_foldersСписок ваших папок.
create_folderСоздаёт папку для организации кодов.
delete_folderУдаляет папку. Её коды не удаляются, а остаются без папки.
list_themesСписок сохранённых тем оформления. Примените одну, передав её id или имя как theme.
create_themeСохраняет переиспользуемую тему оформления (цвета, стили точек и углов).
delete_themeУдаляет сохранённую тему. Коды, уже оформленные ею, сохраняют свой вид.
get_subdomainПоказывает фирменный поддомен на аккаунте и приостановлен ли он.
set_subdomainЗаявляет или меняет фирменный поддомен, чтобы коды также открывались по адресу {name}.oqr.to. Только для Pro.
clear_subdomainОсвобождает фирменный поддомен. Коды остаются доступными по обычной короткой ссылке.

Также предоставляются 5 ресурсов и 4 промпта:

  • Ресурсы — встроенные пресеты стилей QR-кодов по адресам openqr://preset/classic, /teal, /high-contrast, /dots и /classy. Прочитайте один и передайте его стиль в create_theme.
  • Промпты — это create_tracked_qr, bulk_qr_for_print, brand_a_qr и qr_scan_report.

Возможности

  • Без водяных знаков, без ограничений размера, без регистрации — все функции бесплатны
  • Приватность по дизайну — коды генерируются полностью в вашем браузере; содержимое никогда не попадает на сервер
  • Экспорт куда угодно — PNG / WebP до 4096px, а также настоящий векторный SVG и PDF
  • Полное оформление — цвета, градиенты, стили точек и углов, встраивание логотипа, рамки «Сканируй меня»
  • Умный ввод — вставьте ссылку или текст, и тип определится автоматически
  • Богатые данные — URL, текст, email, телефон, SMS, WhatsApp, Wi-Fi и выбор местоположения на карте
  • Копирование в один клик, ссылки для обмена дизайном, светлая/тёмная тема, адаптивность, доступность с клавиатуры

Быстрый старт

pnpm install
pnpm dev        # http://localhost:3011

Сборка и самостоятельный хостинг

pnpm build
pnpm start      # serves on :3011 (standalone output)

Это стандартное приложение Next.js — размещайте его где угодно (VPS, Raspberry Pi, Cloudflare, за любым обратным прокси). Для запуска не требуются переменные окружения, база данных или секреты.

Встраивание

Компонент <Generator/> самодостаточен и настраиваем:

import { Generator } from "@/components/generator/generator";

// Full page (default OpenQR logo header):
<Generator />

// Embedded widget, your own branding, no default header:
<Generator embedded header={<MyLogo />} />

// Inject your own post-download call-to-action:
<Generator renderSuccess={(variant) => <MySupportCluster variant={variant} />} />

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

import { setTrackHandler } from "@/lib/analytics";
setTrackHandler((action, name, category) => myAnalytics.track(category, action, name));

Конфиденциальность

Генерация QR-кодов происходит на 100% в вашем браузере. Единственные необязательные исходящие запросы — в инструменте Местоположение: тайлы карт от CARTO и поиск адресов через Nominatim от OpenStreetMap. Больше ничего не покидает устройство.

Технологический стек

Next.js 16 (App Router) · React 19 · TypeScript (строгий режим) · Tailwind v4 · qr-code-styling · Leaflet · pnpm.

Участие в разработке

См. CONTRIBUTING.md. Держите проект простым, доступным, клиентским и бесплатным — ни одна функция не должна требовать оплаты за удаление водяного знака или разблокировку формата.

Лицензия

AGPL-3.0 © 2026 Sam Moreton.

Вы можете свободно использовать, изучать, изменять, размещать у себя и распространять OpenQR в соответствии с AGPL-3.0. Если вы запускаете изменённую версию как сетевой сервис, AGPL требует предоставить исходный код на тех же условиях. Если это не подходит для вашего случая, доступна коммерческая лицензия — см. NOTICE.