Фото в текст

Фото в текст
в браузере

Бросьте скриншот, фото с телефона, скан или одностраничный PDF и скопируйте текст за секунды. Русский, английский и ещё 23 языка. Движок распознавания запускается прямо в вашем браузере — файл не отправляется на наш сервер.

Бросьте изображение сюда
JPG, PNG, WebP, HEIC или одностраничный PDF. В первый раз движок распознавания подгружается в браузер и остаётся в кеше — дальше работает локально, без отправки на сервер.

Проверьте сами: откройте DevTools, на вкладке Network бросьте файл — увидите ноль запросов, уносящих ваше изображение.

25 языков, 95%+ точности на чистых сканах После первой загрузки работает офлайн
Бесплатно
Без регистрации
Файл остаётся у вас
25 языков
КАК ЭТО РАБОТАЕТ

Три шага.

1

Бросьте изображение

JPG, PNG, WebP, HEIC с iPhone или одностраничный PDF. Файл открывается в браузере и там же остаётся. В первый раз движок распознавания (около 10 МБ) скачивается в браузер и кешируется — каждый следующий запуск стартует мгновенно и работает офлайн.

2

Подождите несколько секунд, пока движок читает

Tesseract.js — WebAssembly-сборка движка OCR Tesseract, который поддерживает Google — работает целиком в вашем браузере. Чистый скан A4 закрывается за 3–8 секунд на современном ноутбуке; фото чека или вывески с телефона обычно меньше 4 секунд. Прогресс-бар показывает и прогрев движка, и распознавание самой страницы.

3

Скопируйте текст или скачайте .txt

Результат попадает в поле чистого текста с оценкой уверенности. Скопируйте в буфер обмена или сохраните как .txt в UTF-8. Всё, что работало — ядро WASM, языковая модель, само распознавание — произошло на вашем устройстве. Ни файл, ни распознанный текст, ни метаданные не дошли до нашего сервера.

Что на самом деле делает OCR

OCR (Optical Character Recognition, оптическое распознавание символов) превращает пиксели, похожие на буквы, в текст, который понимает компьютер. Фото чека или скан страницы книги — для компьютера это просто цветные точки, пока модель, обученная на миллионах печатных символов, не сопоставит каждый узор точек обратно с а, б, 9, =. Движок этого инструмента — Tesseract, тот же самый, что лежит в основе сканера книг Internet Archive, бесплатных версий ABBYY FineReader Online и большинства open-source PDF-читалок — только здесь скомпилирован в WebAssembly, чтобы работать в вашем браузере, а не на чужом сервере.

Что можно бросать

JPG, PNG, WebP, HEIC (с iPhone) и одностраничный PDF. HEIC декодируется внутри браузера — без отдельного шага конвертации. Многостраничный PDF: распознаётся только первая страница; если нужны все, сначала разделите PDF через split-pdf и прогоните каждую отдельно. Фото прямо с телефона работают; так же как скриншоты, сканы с планшетного сканера и скрин-захваты экрана. Практический лимит — 25 МБ на файл; выше браузер начинает с трудом держать в памяти одновременно canvas и кучу WASM.

Каким должен быть хороший исходник

Качество OCR зависит от изображения гораздо больше, чем от движка. Скан 300 DPI с планшетного сканера машинописной страницы даёт 98–99% точности без какой-либо настройки. Чёткое фото чека при нормальном свете: 95%+. Размытое фото договора, снятое под углом в плохом освещении: 60–80%, и результат придётся вычитывать. Три вещи больше всего двигают точность: резкость (наведите фокус камеры до того, как нажать кнопку), контраст (чек с белым текстом на чёрном фоне труднее, чем чёрный на белом) и ориентация (движок справляется с небольшим наклоном, но повёрнутое на 90 градусов изображение нужно сначала развернуть). Если вы сканируете паспорт, СНИЛС, зарплатную ведомость или договор и точность важна, сначала используйте приложение-сканер — Заметки на iOS, Google Диск или Adobe Scan исправят перспективу и контраст до сохранения.

Языки

В v1 идёт 25 языков — по одному на локаль Vastiko плюс упрощённый китайский для пользователей материкового Китая. Латиница: английский, немецкий, французский, испанский, итальянский, португальский (покрывает и бразильский тоже), польский, нидерландский, датский, шведский, румынский, венгерский, чешский, турецкий, индонезийский, вьетнамский. Кириллица: русский, украинский. Греческий. Арабский (письмо справа налево). Тайский. CJK: японский, корейский, китайский упрощённый (материк), китайский традиционный (Тайвань / Гонконг).

Инструмент пытается угадать ваш язык по локали браузера при первой загрузке — браузер на русском открывает с русским, выбранным по умолчанию, японский браузер — с японским и так далее. Поменять можно в любой момент через верхнюю панель; ваш последний выбор сохраняется между сеансами. Каждый языковой пакет скачивается только при первом использовании (от 1 до 6 МБ в зависимости от алфавита — латинские алфавиты сжимаются лучше, чем CJK) и кешируется в браузере. Смена языка — это разовая загрузка на язык; последующие использования мгновенны.

Реальные русскоязычные документы редко на 100% русские. В договоре упомянуты Excel, PDF и WhatsApp. В выписке банка SWIFT, IBAN и названия иностранных банков на английском. В резюме английские технические термины перемешаны с русским опытом. Поэтому выбор любого языка, кроме английского, в качестве основного автоматически подгружает английский как вторичный алфавит в том же проходе распознавания — движок тогда рассматривает оба алфавита и для каждого слова выбирает чтение с большей уверенностью. Цена: примерно ×2 памяти и ~30% медленнее одного пакета, оно того стоит, потому что альтернатива — название бренда на английском, выходящее кашей посреди русского.

Что этот инструмент делает плохо

Рукописный текст. Tesseract обучен на печатном тексте. Прописной почерк, рецепт врача от руки, заметки в блокноте — путают модель (Microsoft Read API и Google Cloud Vision значительно лучше, но оба требуют загрузить изображение). Сложные таблицы. PDF с таблицей выходит как плоский текст со склеенными колонками; этот инструмент сохраняет порядок чтения, а не структуру таблицы. Для таблиц, которые должны остаться данными, используйте pdf-to-excel. Декоративные или стилизованные шрифты. Логотипы, заголовочные дисплейные шрифты, эффекты отрендеренного текста — часто проваливаются или возвращаются как абракадабра, потому что модель ожидает форм основного текста. Очень низкое разрешение. Скриншот абзаца шириной 320 пикселей: будет угадывать; шириной 1500 пикселей: прочитает.

Почему мы держим это в браузере

Когда человек делает OCR, документ обычно личный: скан паспорта, чтобы заполнить визу, счёт из частной клиники, зарплатная ведомость для ипотеки, договор, который кто-то прислал в JPG вместо Word. Самый короткий путь от этих фотографий к читаемому тексту в буфере обмена обычно лежит через чей-то бесплатный сайт OCR, который тихо хранит загрузку «для улучшения качества». Мы протестировали популярные в нашем privacy audit редакторов PDF, и тот же паттерн повторяется в OCR: загрузка на сервер, политика хранения с надписью «несколько часов», но обращающаяся к тому же диску месяцами позже, сторонняя аналитика, получающая хеш формы файла. Мы сделали работу, чтобы OCR работал целиком на устройстве, потому что тип файла, который вы наводите сюда, — это тот самый тип, который вы предпочли бы не отдавать ни на чей сервер.

Что происходит с вашим файлом

Откройте DevTools, перейдите на вкладку Network и бросьте файл. Вы увидите разовую загрузку ядра WASM и русской языковой модели (около 10 МБ суммарно) при первом использовании, а затем абсолютно ноль исходящих запросов, уносящих какую-либо часть вашего файла. На последующих запусках запросов нет вообще — движок в кеше, страница работает офлайн. Распознанный текст живёт в textarea браузера, откуда вы можете скопировать или скачать его как .txt. Ничто из этого никогда не касается ни одного нашего лога.

Когда серверный OCR имеет смысл

Если вы обрабатываете 10 000 счетов за ночь, инструмент в браузере — неправильная форма; нужна очередь и парк воркеров с GPU. Если нужен OCR рукописного текста с высокой точностью, облачные API всё ещё лучше open-source. Если ваши документы публичные — исторические архивы, договоры в публичном доступе, скриншоты с собственного блога — никакого выигрыша по приватности нет, а сервер может быть быстрее. Дело не в том, что локальный OCR выигрывает в каждом сценарии; дело в том, что для фотографий, которые лежат в плёнке камеры одного человека, расчёт переворачивается и не должен требовать акта веры в политику хранения.

Если у вас уже есть PDF с текстовым слоем — у большинства цифровых PDF он есть — используйте лучше pdf-to-txt: быстрее и без потерь, потому что он читает встроенный текст, а не запускает OCR по отрендеренной странице.

FAQ

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

Моё изображение попадает на ваш сервер?

Нет. Изображение открывается в вашем браузере и обрабатывается там же. Движок распознавания — Tesseract.js — скачивается один раз (~10 МБ), кешируется в браузере и работает локально. Чтобы убедиться, откройте DevTools, перейдите на вкладку Network и бросьте файл: вы не увидите ни одного исходящего запроса с вашим изображением.

Какие типы файлов поддерживаются?

JPG, PNG, WebP, HEIC (iPhone) и одностраничный PDF. HEIC декодируется в браузере — без отдельной конвертации. Многостраничный PDF: обрабатывается только первая страница; разделите PDF сначала через split-pdf, если нужны все.

Какие языки распознаются?

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

Насколько точно распознавание?

На чистом скане 300 DPI машинописного текста: 98–99%. На чётком фото печатной страницы или чека: 95%+. На размытом, плохо освещённом или наклонённом изображении: 60–80% — результат придётся вычитывать. Каждый результат показывает оценку уверенности, чтобы вы видели, куда попали в этом диапазоне.

А документы, в которых смешан русский и английский?

Обрабатывается автоматически. Выберите русский основным, и движок подгрузит английский как вторичный алфавит в том же проходе распознавания — так названия брендов (Excel, WhatsApp, IBAN), URL и английские технические термины выходят чисто рядом с русским текстом. Маленькая метка + EN рядом с переключателем показывает, когда этот смешанный режим активен. Цена: ~30% медленнее и ~2× памяти; включаем по умолчанию, потому что альтернатива — проход на одном языке по смешанному документу — как раз и есть причина искажённых названий брендов.

Работает ли с рукописным текстом?

Плохо. Tesseract обучен на печатном тексте — прописной почерк, рукописные рецепты и заметки в блокноте сбивают его. Для рукописи Microsoft Read API и Google Cloud Vision значительно лучше, но оба требуют загрузить изображение.

Почему первый запуск медленный?

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

Можно ли пользоваться с телефона?

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

А таблицы, многоколоночные раскладки или сложные документы?

Текст выходит в порядке чтения как плоский поток абзацев — структура таблицы не сохраняется. Для PDF, где нужны строки и колонки как данные, используйте pdf-to-excel. Для PDF с уже существующим текстовым слоем (у большинства цифровых PDF он есть) используйте pdf-to-txt — быстрее, без потерь и не требует OCR.

Это действительно бесплатно? Есть лимиты?

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