QRkoder
QR-код на билете: что зашито и как проверить
БлогQRkoder46

QR-код на билете: что зашито и как проверить

17 мин чтения

QR-код на билете — это не билет. Внутри квадрата лежит короткий идентификатор: номер заказа или бланка в базе перевозчика плюс подпись, которая доказывает, что строку не дорисовали в графическом редакторе. Поэтому, когда вы наводите на билет обычный сканер, экран показывает не «Москва — Казань, вагон 7, место 12», а набор цифр и латиницы. Ниже — что печатают на ЖД-купонах, посадочных талонах, билетах на электричку, автобус, концерт и лотерейных билетах, как этот код читает турникет и что делать, если на входе он не берётся.

Что на самом деле зашито в QR-код на билете

Сам документ живёт в базе оператора: там ваша фамилия, поезд, вагон, место, тариф, статус «оплачен» и отметка «использован». На бумаге или экране остаётся ключ к этой записи. Матрица кода вмещает до трёх килобайт — уместить туда весь билет технически можно, но никто не станет: чем длиннее строка, тем мельче модули и тем хуже читается код с мятого чека.

Отсканируйте купон дома, и вы, скорее всего, увидите что-то вроде 7182450031269, ORD:8841203/AB19KX или ссылку на страницу проверки. Это нормально. Строка бессмысленна для человека и осмысленна для системы, которая по ней достаёт запись и решает, пускать вас или нет.

Схем кодирования на практике три:

  • Ссылка. Код ведёт на страницу оператора, где показывают статус билета или результат проверки. Так делают лотереи и часть небольших организаторов мероприятий.
  • Голый идентификатор. В коде только номер заказа или бланка. Валидатор на входе идёт в базу по сети и получает ответ «действителен / погашен / не найден». Простая схема, но требует связи.
  • Подписанный пакет данных. В код упакованы несколько полей — рейс, дата, место, категория — и криптографическая подпись оператора. Устройство на входе проверяет подпись своим ключом и решает судьбу пассажира без интернета. Так устроены транспортные билеты и посадочные талоны.

Третья схема отвечает на частый вопрос: почему нельзя «подрисовать» себе купе вместо плацкарта. Измените в строке хоть один символ — подпись перестанет сходиться, и сканер выдаст ошибку. Подделать код без ключа оператора не выйдет, а ключ хранится на его стороне.

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

Не только QR: Aztec и PDF417 на билетах

«QR-кодом» в быту зовут любой квадратик, но на билетах живут три разных формата. Разница ощутимая: камера смартфона по умолчанию берёт только QR, а два других ей чаще всего не по зубам.

ФорматГде встречаетсяСколько вмещаетЧитает ли камера телефона
QR-кодБилеты на мероприятия, электрички и автобусы, коды в приложениях, ссылки из письмадо 2953 байт, около 4200 символовДа, штатной камерой
AztecЖД-купоны, транспортные билеты, часть мобильных посадочныхоколо 1900 байтОбычно нет, нужен сканер с поддержкой формата
PDF417Печатные посадочные талоны авиакомпаний, водительские удостоверения в ряде страноколо 1100 байтОбычно нет

Почему железная дорога любит Aztec. У него нет требования к пустой рамке вокруг: QR без «тихой зоны» шириной в четыре модуля читается плохо, а Aztec ловится вплотную к тексту. На узком термобилете каждый миллиметр на счету, и формат, который можно прижать к краю, экономит бумагу. Узнать его просто: в центре не три квадрата по углам, а концентрическая мишень.

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

Вывод для пассажира: если штатная камера смотрит на код и молчит, дело не всегда в бликах — возможно, перед вами вообще не QR, а Aztec или PDF417, и нужен сканер с поддержкой этих форматов.

ЖД, электричка и автобус: где код и как проходить

ЖД-билет и контрольный купон

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

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

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

QR-код билета на электричку

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

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

Отсюда правила, которые экономят нервы в час пик:

  • Откройте билет до турникета. В подземных переходах и на дальних платформах связь пропадает, а приложению может понадобиться сеть, чтобы обновить код.
  • Проверьте офлайн-режим заранее. Включите авиарежим дома и посмотрите, открывается ли купленный билет. Если да — в поездке вы застрахованы.
  • Яркость на максимум, автояркость выключить. Валидатор читает отражённый свет, тусклый экран для него почти чёрный прямоугольник. Матовая защитная плёнка мешает по той же причине.
  • Зарядите телефон. Разряженный смартфон превращает оплаченный билет в отсутствие билета, и контролёру это объяснить нечем.

Если валидатор не берёт код, не давите телефон в стекло: отодвиньте на 5–10 см и держите экран параллельно окошку. Помогает расстояние, а не сила нажатия.

QR-код на билете на автобус

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

Нюанс, о который спотыкаются на автовокзалах: на части из них по электронному билету нужно получить посадочный талон в кассе или терминале самообслуживания. Код из письма там работает как ключ к заказу, а не как пропуск в автобус, поэтому приезжайте за 20–30 минут и смотрите на табло.

Городской транспорт часто путают с междугородним. Наклейка с кодом в салоне автобуса или трамвая почти всегда ведёт на оплату проезда через систему быстрых платежей, а не хранит билет: вы сканируете, платите, получаете чек. Такой код — не ваш проход, и сканировать его повторно бессмысленно.

Билеты на самолёт: посадочный талон и стандарт BCBP

Запрос «билеты на самолет qr код» скрывает распространённое недоразумение. На самом авиабилете кода обычно нет вообще: электронный билет — это запись в системе бронирования и 13-значный номер бланка, который присылают в маршрутной квитанции. Код появляется позже, на посадочном талоне, после регистрации на рейс. Именно талон, а не билет, вы прикладываете к сканеру на выходе на посадку.

Формат содержимого унифицирован отраслевым стандартом BCBP — Bar Coded Boarding Pass, описанным в Резолюции 792 IATA. Благодаря ему талон «Аэрофлота» читается сканером в аэропорту Стамбула, а талон Turkish Airlines — терминалом в Шереметьево. Внутри строки идут поля фиксированной длины:

  • Фамилия и имя пассажира латиницей, дополненные пробелами до нужной длины.
  • Код бронирования — те самые шесть символов вида QK3F7T, по которым бронь открывается в системе авиакомпании.
  • Аэропорты вылета и прилёта трёхбуквенными кодами IATA и код перевозчика.
  • Номер рейса и дата — дата в виде порядкового номера дня в году, а не привычного формата.
  • Класс, место, порядковый номер регистрации и статус пассажира.
  • Номер карты лояльности, если он был указан при регистрации.

На печатном талоне это всё лежит в PDF417 — вытянутом прямоугольнике из тонких полос. В мобильном варианте стандарт разрешает Aztec, Data Matrix или QR, поэтому в приложении авиакомпании вы чаще увидите квадрат.

Теперь о том, почему талон не место в социальных сетях. Фамилия плюс код бронирования — это готовая пара для входа в раздел «Управление бронированием» на сайте перевозчика. Оттуда видны маршрут целиком, контактные данные, иногда номер документа, а в худшем случае постороннему доступны отмена сегмента или смена места. Тему подробно разбирали на конференции Chaos Communication Congress в 2016 году, и с тех пор принципиально мало что изменилось: код бронирования по-прежнему остаётся паролем, который печатают крупным шрифтом.

Правило для посадочного талона простое: он живёт в кармане, а не в сторис. Не выкладывайте фото с талоном, не оставляйте его в кармане кресла и не бросайте в урну у гейта — бумажку с фамилией и кодом брони поднимет кто угодно. Дома распечатанный талон удобнее разорвать пополам ровно по коду.

QR-код билет на концерт: ротация против скриншота

На мероприятиях у кода другая задача. В транспорте главное — пропустить поток, на концерте — не пустить второй раз тот же билет. Отсюда механика гашения: первый успешный скан переводит билет в статус «использован», и следующая попытка с тем же кодом получает отказ. Никакой очереди «кто первый показал» на входе нет — есть база, и в ней билет уже отмечен.

Из этого следует неприятное для покупателей «с рук». Продавец мог сделать пять скриншотов и продать их пятерым. Первый пришедший пройдёт, остальные встанут у рамки с погашенным билетом: он числится за исходным заказом, а статус до входа виден только оператору продажи.

Ответ индустрии — динамический код, который обновляется каждые несколько секунд прямо в приложении. Скриншот такого билета мёртв через минуту, а передать место другому человеку можно только официальным трансфером внутри сервиса. У крупных билетных операторов такая схема встречается на топовых мероприятиях; на обычных концертах чаще остаётся статичный PDF с одним кодом на посадочное место.

Отдельная ветка — именные билеты. На части концертов и особенно на спортивных матчах билет привязан к конкретному человеку, и на входе сверяют паспорт, а на футболе в России ещё и карту болельщика. Купленный у перекупщика билет на чужую фамилию в такой схеме бесполезен независимо от того, читается код или нет.

Что реально снижает риск остаться за дверью:

  • Скачайте PDF заранее и положите в файлы телефона. Мобильный интернет у входа на стадион перегружен тысячами таких же зрителей.
  • Печатайте на белой бумаге в 100% масштаба. Режим «вписать в страницу» иногда ужимает код так, что модули сливаются.
  • Приходите за 30–40 минут на массовые события: если код не читается, останется время дойти до стойки организатора и получить дубликат по паспорту и номеру заказа.

QR-код на лотерейном билете: как проверить выигрыш

Лотерейный билет отличается от проездного принципиально. Он ничего не открывает и никуда не пропускает — код на нём нужен для проверки. Внутри обычно либо ссылка на страницу проверки, либо номер билета и защитный код, которые приложение оператора подставляет в форму за вас. Результат тиража лежит на стороне лотереи: «выигрыша внутри кода» не бывает.

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

Чем лотерейный код отличается от платёжного, видно по содержимому строки:

Тип кодаЧто внутриЧто происходит при сканировании
Лотерейный билетСсылка на проверку или номер билета с защитным кодомОткрывается страница с результатом розыгрыша, деньги не двигаются
Платёжный код СБПСсылка вида qr.nspk.ru с идентификатором платежаБанковское приложение предлагает перевести сумму получателю
Фискальный код на чекеПараметры чека: сумма, дата, номера фискального накопителя и документаПриложение налоговой находит и показывает сам чек
Проездной билетИдентификатор заказа, часто с подписью оператораВалидатор пропускает или отклоняет проход

Два предостережения. Не публикуйте фотографию билета с читаемым кодом и защитными полями: бумажный билет — документ на предъявителя. И сканируйте только тот код, что напечатан на самом билете, проверяя домен. Схема с наклейками «проверь билет, получи выигрыш», ведущими на сайт-двойник с формой ввода карты «для перевода приза», старше самих QR-кодов и работает до сих пор. Настоящая лотерея не просит данные карты, чтобы отдать вам деньги.

Как отсканировать QR-код на билете самому

Отсканировать QR-код на билете полезно до поездки, а не на турникете. Домашняя проверка занимает полминуты и отвечает на главный вопрос: код вообще читается или бумага уже негодная.

С печатным билетом всё просто. На iPhone откройте штатную «Камеру», наведите и подождите пару секунд, пока сверху не появится подсказка. На Android камера в оболочках Samsung, Xiaomi и Huawei распознаёт коды сама, а если нет — выручает Google Lens или иконка сканера в шторке. Держите телефон в 10–25 см от бумаги при боковом свете.

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

  1. Скриншот и распознавание из галереи. Сделайте снимок экрана, откройте его в приложении «Фото» — на iOS начиная с 15-й версии система обычно подсвечивает код прямо на снимке, на Android то же делает Google Lens в галерее.
  2. Второй экран. Откройте PDF на компьютере и просканируйте код с монитора телефоном. Способ выручает и когда нужно проверить чужой билет.
  3. Загрузка файла в сканер. Браузерный сканер принимает готовый PNG, JPG или скриншот и разбирает матрицу без камеры вообще. Удобно, если картинка мелкая или пришла в мессенджере.

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

Проверьте билет до поездки

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

Открыть сканер QR-кодов

Если код не читается

Чаще всего отказ на входе объясняется физикой печати, а не сбоем системы. Ниже — типовые ситуации и что с ними делать.

Что видноПричинаЧто делать
Код бледный, почти серыйТермобумага выцвела от тепла или солнцаОткрыть исходный PDF на телефоне или перепечатать
Белые полосы поперёк матрицыЗаканчивается тонер или засорилась головка принтераПерепечатать на другом принтере
Сканер ловит бликГлянцевая бумага, ламинация, защитное стеклоИзменить угол на 15–20 градусов, убрать прямой свет
Код на сгибеБилет сложили пополам ровно по матрицеРазгладить, при повреждении печатать заново
Матрица обрезана по краюСкриншот срезал пустое поле вокруг кодаПереснять экран целиком с запасом по краям
Экран не читается вообщеНизкая яркость, тёмная тема, матовая плёнкаЯркость на максимум, автояркость выключить
Модули слились в кашуПечать в режиме «вписать в страницу»Печатать в масштабе 100%
Камера телефона молчитПеред вами Aztec или PDF417, а не QRИспользовать сканер с поддержкой этих форматов

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

Как сделать билеты с QR для своего мероприятия

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

Рабочую схему от бесполезной отличают три вещи. Уникальный код на гостя, а не один общий на всю рассылку: общий превращает контроль в фикцию и не даёт статистики. Отметка о входе, чтобы вторая попытка по тому же коду показывала «уже прошёл». И динамический код, который позволяет поменять адрес страницы после рассылки билетов — пригодится при смене площадки или времени.

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

Частые вопросы

Короткие ответы на то, что чаще всего спрашивают про QR-код на билете — от электрички до посадочного талона.

Что зашито в QR-код на электронном билете?

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

Как отсканировать QR-код на билете самому?

С печатным билетом достаточно штатной камеры: на iPhone откройте «Камеру» и подождите пару секунд, на Android в оболочках Samsung, Xiaomi и Huawei камера распознаёт коды сама, иначе выручает Google Lens. Держите телефон в 10–25 см параллельно бумаге, при боковом свете без прямого блика. Сложнее, если билет лежит в PDF на том же телефоне — навести камеру на собственный экран нельзя. Три обходных пути: сделать скриншот и открыть его в галерее, где iOS и Google Lens подсвечивают коды прямо на снимке; открыть PDF на компьютере и просканировать код с монитора; загрузить картинку в браузерный сканер, который разбирает матрицу без камеры.

Как работает QR-код билета на электричку в турникете?

Вы покупаете билет в приложении перевозчика и прикладываете код к валидатору — окошку со стеклом на верхней панели турникета, рядом с местом для транспортной карты. Пригородные турникеты считают и вход, и выход, поэтому билет держите под рукой до конца поездки. Код в приложении часто динамический и перерисовывается через десятки секунд — заранее сделанный скриншот в этом случае не сработает, даже если снимок чёткий. Откройте билет до турникета: в переходах связь пропадает, а приложению может понадобиться сеть. Яркость поставьте на максимум. Если валидатор молчит, не давите телефон в стекло — отодвиньте на 5–10 см и держите экран параллельно окошку.

Где находится QR-код на ЖД билетах и нужен ли контрольный купон?

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

Как проверить QR-код на лотерейном билете?

Откройте официальное приложение или сайт лотереи, найдите раздел проверки билета и наведите камеру на код — сервис определит билет и покажет результат розыгрыша. Для бумажных билетов из киоска обычно нужен ещё номер тиража: билет участвует в конкретном розыгрыше. Информации о выигрыше в самой матрице нет: внутри лишь ссылка на проверку или номер билета с защитным кодом. Не публикуйте фото билета с читаемым кодом: бумажный билет — документ на предъявителя. И сканируйте только тот код, что напечатан на билете, проверяя домен: наклейки «проверь билет» на сайт-двойник с формой ввода карты — старая мошенническая схема.

Что делать, если QR-код на билете на автобус не сканируется?

Сначала исключите физику печати. Термобумага выцветает от тепла и солнца, тонер оставляет белые полосы поперёк матрицы, сгиб ровно по коду ломает распознавание, а глянец даёт блик — помогает смена угла на 15–20 градусов. Если показываете код с телефона, поставьте яркость на максимум: для сканера тусклый экран почти чёрный прямоугольник. Когда код цел, а система его отвергает, дело не в бумаге: билет мог быть погашен, аннулирован при возврате или относиться к другой дате. Здесь выручают номер заказа и паспорт — по ним кассир или водитель находит вас в списке. На части автовокзалов по электронному билету нужно ещё получить посадочный талон в кассе, а код из письма служит ключом к заказу.

Можно ли выкладывать фото билета на самолёт с QR-кодом?

Не стоит. В посадочном талоне по стандарту BCBP открыто лежат фамилия латиницей, шестизначный код бронирования, маршрут, номер рейса, место и номер карты лояльности. Фамилия плюс код бронирования — готовая пара для входа в раздел управления бронированием на сайте авиакомпании, откуда видны маршрут целиком и контактные данные, а иногда доступны смена места или отмена сегмента. Код на снимке читается даже после сжатия мессенджером, поэтому размытие уголка картинки не спасает: код бронирования работает как пароль, который печатают крупным шрифтом. Талон не место в сторис, в кармане кресла и в урне у гейта. Дома распечатанный талон надёжнее разорвать пополам ровно по коду.

Коротко о главном

QR-код на билете — ключ к записи в базе, а не сам документ, и потому обычный сканер честно показывает вам служебную строку вместо маршрута. На ЖД-купонах чаще печатают Aztec, на печатных посадочных талонах — PDF417, а привычный квадрат достаётся мероприятиям, электричкам и автобусам. В пригороде код динамический и скриншотом не заменяется, на концерте гасится первым сканом, в авиации хранит фамилию и код брони и потому не годится для публикации. Проверьте код дома, держите под рукой номер заказа, выкрутите яркость перед турникетом — этих трёх привычек хватает.

Нужны свои билеты с кодами?

Сгенерируйте уникальный код на каждого гостя, скачайте в SVG или PNG для печати и раздайте приглашения. Бесплатно, без регистрации, с настройкой размера и цвета под ваш макет.

Создать QR-код

Создавайте QR-коды бесплатно

Динамические QR-коды с аналитикой, дизайном и без ограничений по сканированиям.

Начать бесплатно