01 · qr-svg · порт 8121

QR-код
с нуля

Кодировщик без сторонних библиотек: три режима данных, версии с 1 по 40, четыре уровня коррекции, Рид-Соломон над GF(256), выбор маски по штрафам. Введите текст и сразу получите SVG, скачайте SVG или PNG и проверьте, достаточно ли контраста.

Создать код openapi.yaml

02 · генератор

Живой предпросмотр

код
Версия
…
Модулей
…
Режим
…
Маска
…

…контраст WCAG

    03 · как проверено

    Не на слово

    Эталоны стандарта

    Кодовые слова и байты коррекции примера ISO/IEC 18004 «01234567», форматная и версионная информация, положения выравнивающих узоров, ёмкость версий 1, 10 и 40.

    Две чужие реализации

    Матрицы совпадают бит в бит с независимым генератором qrcode-generator. Все 160 пар «версия, уровень» читает декодер jsQR (кроме одной, которую jsQR не читает и у эталона).

    Собственный декодер

    В тестах: форматная информация с поиском ближайшего кода, снятие маски, разбор блоков, нулевые синдромы Рида-Соломона, разбор сегментов. fast-check на произвольном Unicode.

    04 · API

    То же из консоли

    curl -s 'localhost:8121/v1/qr.svg?text=HELLO%20WORLD&ecc=Q&margin=2&fg=1a2b3c&bg=fff' > qr.svg
    
    curl -s localhost:8121/v1/qr -H 'content-type: application/json' \
      -d '{"text":"https://example.org","format":"json"}'