01 · qr-svg · порт 8121
QR-код
с нуля
Кодировщик без сторонних библиотек: три режима данных, версии с 1 по 40, четыре уровня коррекции, Рид-Соломон над GF(256), выбор маски по штрафам. Введите текст и сразу получите SVG, скачайте SVG или PNG и проверьте, достаточно ли контраста.
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"}'