Инструменты
10 бесплатных онлайн-конвертеров файлов
Перевести документ, таблицу или картинку в другой формат прямо в браузере — проверенные сервисы без установки и регистрации.
Открыли текстовый файл, CSV или веб-страницу — а вместо русских букв «Ð¿Ñ€Ð¸Ð²ÐµÑ‚», «привет» или ряды квадратиков и вопросительных знаков. Это не порча данных, а несовпадение кодировок: программа читает файл не в той таблице символов, в которой он сохранён. Разбираем, как определить настоящую кодировку и вернуть читаемый текст — в Notepad++, Word, Excel, онлайн и из командной строки.

Коротко: кракозябры появляются, когда файл читают в неправильной кодировке. Чаще всего это путаница между UTF-8 и Windows-1251 (CP1251). Откройте файл в Notepad++, посмотрите текущую кодировку в статус-баре и через меню «Кодировки» подберите ту, при которой текст станет читаемым, затем преобразуйте в «UTF-8 (без BOM)» и сохраните. Если символы искажены «в квадрате» (двойная перекодировка) или данные повреждены физически — простая смена кодировки не поможет, нужен исходный неиспорченный файл.
Внутри любого файла текст хранится не буквами, а числами (байтами). Кодировка — это таблица соответствия «число ↔ символ». Чтобы показать текст, программа берёт байты и переводит их обратно в буквы по какой-то таблице. Если файл сохранён в одной таблице, а открыт в другой, каждый байт превращается «не в ту» букву — так и рождаются кракозябры.
Латинские буквы и цифры почти во всех таблицах совпадают (наследие ASCII), поэтому они обычно читаются нормально. Проблема возникает с кириллицей, буквами с диакритикой и спецсимволами — их коды в разных таблицах разные. Отсюда классические картины: «РџСЂРёРІРµС‚» вместо «Привет», «Ïðèâåò», сплошные вопросительные знаки «??????» или ряды пустых квадратов «□□□□».
Для русского текста практически всё сводится к четырём кодировкам:
| Кодировка | Где встречается | Признак ошибки |
|---|---|---|
| UTF-8 | Современный стандарт: веб, Linux, macOS, JSON, XML, большинство новых файлов | Открыт как CP1251 → «Ð¿Ñ€Ð¸Ð²ÐµÑ‚» (по 2 символа на букву) |
| Windows-1251 (CP1251, ANSI) | Старые файлы и программы под Windows, часть выгрузок 1С, .bat, .txt из Блокнота | Открыт как UTF-8 → квадраты «□» или «замещающий» символ |
| CP866 (DOS) | Консольные утилиты, старые архивы, вывод командной строки | Смесь псевдографики и искажённой кириллицы |
| KOI8-R | Устаревшая, письма и Unix-системы 1990–2000-х | Кириллица «переставлена» (е↔Е, зеркальная логика) |
По самому виду кракозябр часто уже понятно, что произошло. Если вместо буквы стоит пара латинско-акцентных символов (Ð, Ñ, â, €) — почти наверняка это UTF-8, прочитанный как Windows-1251. Если видите одиночные квадраты или ромбики с вопросом «�» — наоборот, Windows-1251 (или CP866) прочитали как UTF-8.
Кодировку нельзя «увидеть» в самом файле — её нигде не записано (кроме редкого BOM-маркера). Программа всегда лишь предполагает таблицу. Значит, задача — не «исправить файл», а подобрать правильную таблицу для чтения и один раз пересохранить в универсальной UTF-8.
Прежде чем перекодировать, нужно понять, в какой таблице файл сохранён на самом деле. Несколько надёжных способов:
Ни один инструмент не знает кодировку наверняка: он анализирует статистику байтов и выдаёт наиболее вероятный вариант. На коротких файлах (несколько слов) автоопределение часто ошибается — доверяйте глазам: правильная кодировка та, при которой текст читается полностью, без единого искажённого символа.
Notepad++ — бесплатный редактор для Windows и самый удобный инструмент для ручного исправления кодировки. Важно не путать два пункта меню:
Порядок действий, когда текст открылся кракозябрами:
Если нажать «Преобразовать в…» в момент, когда текст ещё нечитаем, вы запечёте искажение навсегда — получится двойная перекодировка, из которой вернуть данные почти невозможно. Сначала добейтесь читаемого вида через «Кодировать в…», и только потом преобразуйте и сохраняйте.
Тот же принцип работает в бесплатных редакторах VS Code (внизу справа кнопка кодировки → «Reopen with Encoding» / «Save with Encoding») и Sublime Text (меню File → Reopen with Encoding).
В офисных программах у проблемы своя специфика.
Если документ .doc/.docx открывается иероглифами, чаще всего дело не в кодировке, а в том, что старый Word не понимает новый формат, либо файл повреждён. Включите в параметрах Word пункт «Подтверждать преобразование формата файла при открытии» — тогда при открытии появится окно выбора кодировки, где можно вручную указать «Кириллица (Windows)». Для простого текста, который Word открыл кракозябрами, помогает пересохранение через «Файл» → «Сохранить как» → «Обычный текст» с явным выбором кодировки. Подробнее о формате — на странице чем открыть DOCX.
Самый частый источник боли — CSV в кодировке UTF-8, открытый двойным кликом в Excel: русские колонки превращаются в кракозябры, потому что Excel в русской локали ждёт Windows-1251. Три рабочих решения:
Разбор форматов таблиц и типовых ошибок импорта — в материале чем открыть CSV.
Если ставить редактор не хочется, а задача разовая, кодировку можно поменять прямо в браузере. Онлайн-перекодировщики принимают файл, дают выбрать исходную и целевую кодировку (например, Windows-1251 → UTF-8) и возвращают исправленный файл. Это удобно для одного-двух документов.
Любой онлайн-сервис — это чужой сервер. Персональные данные, рабочие выгрузки, документы с коммерческой тайной перекодируйте локально (Notepad++, VS Code, командная строка). О рисках загрузки файлов на сторонние сервисы — в разделе безопасность файлов.
Готовые подборки сервисов для смены кодировки и конвертации между форматами мы собрали в гайде бесплатные онлайн-конвертеры файлов. Там же — конвертеры для случаев, когда «кракозябры» на самом деле означают, что вам подсунули не тот формат.
Для пакетной обработки, серверов и автоматизации ручной редактор не годится — нужна командная строка или скрипт.
Классическая утилита перекодировки. Перевести файл из Windows-1251 в UTF-8:
iconv -f CP1251 -t UTF-8 input.txt -o output.txtФлаг -f — исходная кодировка (from), -t — целевая (to). Для пакетной обработки папки — цикл по файлам с тем же вызовом.
Универсальный вариант для скриптов и кросс-платформенности:
# перекодировать из Windows-1251 в UTF-8
data = open("input.txt", encoding="cp1251").read()
open("output.txt", "w", encoding="utf-8").write(data)Если исходная кодировка неизвестна, помогает библиотека chardet: chardet.detect(raw_bytes) вернёт наиболее вероятную кодировку, которую затем можно подставить в чтение. Для типовых заготовок кода под такие задачи загляните в подборку шаблонов кода (boilerplate).
Get-Content input.txt -Encoding Default | Set-Content output.txt -Encoding UTF8Здесь Default — системная ANSI (обычно Windows-1251), результат сохраняется в UTF-8. Полезно, когда нужно причесать десятки файлов без установки стороннего софта.
Несколько нюансов, из-за которых «правильная» перекодировка иногда всё равно даёт сбой.
Сохраняйте текст, CSV, JSON и XML в UTF-8 — это стандарт де-факто, который понимают веб, базы данных и все современные ОС. Проверяйте кодировку при выгрузках из старых систем и 1С. А для веб-страниц всегда указывайте <meta charset="UTF-8"> в начале документа.
Файл сохранён в одной кодировке, а программа читает его в другой. Каждый байт при этом переводится в «не ту» букву. Чаще всего это несовпадение UTF-8 и Windows-1251. Латинские буквы обычно читаются нормально, а кириллица искажается.
Это UTF-8, прочитанный как Windows-1251: один русский символ UTF-8 занимает два байта, и каждый показывается отдельной латинско-акцентной буквой. Переключите чтение файла на UTF-8 — текст станет нормальным.
Обычно наоборот: файл в Windows-1251 (или CP866) открыт как UTF-8, и байты кириллицы не складываются в допустимые символы Юникода. Прочитайте файл в Windows-1251, затем преобразуйте в UTF-8.
Откройте в Notepad++ — он покажет предполагаемую кодировку в статус-баре. В Linux/macOS используйте команду file -i или утилиту chardet. Точный способ — перебрать кодировки и выбрать ту, при которой текст читается полностью без искажений.
Файл сохранён в UTF-8, а Excel в русской локали при двойном клике ждёт Windows-1251. Импортируйте CSV через «Данные» → «Из текста/CSV» с выбором кодировки UTF-8, либо пересохраните файл как «UTF-8 с BOM».
Иногда да — обратной перекодировкой, если искажение произошло ровно один раз и данные не потеряны. Но если файл пересохраняли несколько раз или он физически повреждён, надёжнее взять исходный неиспорченный файл или резервную копию.
UTF-8 (для веба и кода — без BOM). Это универсальный стандарт, который поддерживают все современные системы. Устаревшие Windows-1251, CP866 и KOI8-R стоит переводить в UTF-8 при первой возможности.