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