Загрузить файл
  1. base64hub
  2. Другие BaseN
  3. Hex в текст

Hex в текст: конвертер в ASCII и строку

Вставьте байты в hex, например 48 65 6c 6c 6f, и прочитайте текст, который они образуют. Пробелы, двоеточия, префиксы 0x и \x не мешают, а пока вы не выберете другую кодировку, используется UTF-8.

Бесплатно без регистрации и ограничений Локально ничего не загружается 27 кодировок, от ASCII до Shift_JIS Обновлено 27 окт. 2026 г.
Ввод 0Байты 0 BРезультат 0

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как перевести hex в текст

  1. Вставьте hex в поле Ввод · Hex. Подойдут заглавные или строчные буквы, с разделителями или без.
  2. Текст появляется в поле Результат · Текст по ходу ввода. Снимите галочку На лету, если удобнее конвертировать кнопкой Выполнить.
  3. Если в результате видно �, откройте Кодировка под результатом и попробуйте другую. По умолчанию стоит UTF-8; в списке есть ASCII, Latin-1, Windows-1252 и ещё 23 варианта.
  4. Для текста используйте Скопировать результат или Скачать. Если в hex записан дамп файла, а не текст, Сохранить байты запишет «сырые» байты на диск с расширением, угаданным по содержимому.

Чтобы перевести текст в hex, нажмите Текст → Hex над инструментом или откройте Текст в hex.

Какие форматы hex понимает конвертер

Запись hex зависит от инструмента, который его выдал. Всё это декодируется в Hello:

ФорматПримерОткуда обычно берётся
Сплошной48656c6c6fxxd -p, sha256sum, дампы баз данных
Через пробел48 65 6c 6c 6fWireshark, hex-редакторы
Через двоеточие48:65:6c:6c:6fотпечатки сертификатов, вывод openssl
Через дефис48-65-6C-6C-6FBitConverter.ToString в .NET
Префикс 0x0x48 0x65 0x6c 0x6c 0x6f или 0x48656c6c6fисходники на C, отладчики
Escape \x\x48\x65\x6c\x6c\x6fPython, shell-скрипты, логи

Запятые, точки с запятой и точки тоже работают как разделители. Вставляйте только колонки с hex: стандартный вид xxd начинает каждую строку со смещения вроде 00000000: и заканчивает колонкой ASCII, поэтому конвертер прочитает смещение как байты, а на первой букве колонки ASCII сообщит об ошибке. Чтобы получить сплошной hex, запустите xxd -p.

Как читать hex в ASCII

Каждая пара hex-цифр даёт один байт, а в ASCII каждый байт меньше 80 соответствует одному символу. Диапазоны, которые стоит запомнить:

HexСимволы
20пробел
30–39цифры 0–9
41–5AA–Z
61–7Aa–z
21–2F! " # $ % & ' ( ) * + , - . /
0A, 0Dперевод строки и возврат каретки (0D 0A – перенос строки в Windows)

Заглавные и строчные буквы отстоят друг от друга ровно на 20: 41 даёт A, 61 даёт a. С этим правилом и таблицей короткий hex можно прочитать на глаз. 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 читается как Hello, world: 2c здесь запятая, а 20 пробел.

Hex в UTF-8: байты от 80 до FF

Всё, что выходит за пределы базовой латиницы, в UTF-8 занимает больше одного байта, и все эти байты не меньше 80. Одни и те же байты дают разный текст в зависимости от того, в какой кодировке их читать:

HexКак UTF-8Как Windows-1252
63 61 66 c3 a9cafécafé
e2 82 ac€â‚¬
f0 9f 91 8b👋👋
63 61 66 e9caf�café

В первых трёх строках данные в UTF-8, в последней в Latin-1 или Windows-1252, где é занимает один байт e9. Череда символов Ã и â почти всегда означает байты UTF-8, прочитанные в однобайтовой кодировке. Если ни одна кодировка не даёт осмысленного текста, байты, скорее всего, вовсе не текст. Посмотрите на Похоже на в строке статуса: там будет назван формат, если инструмент его узнал.

Hex, Base64 и одни и те же байты

Hex и Base64 записывают байты по-разному: hex тратит два символа на байт, Base64 четыре символа на три байта, так что он на треть короче. Если ваша строка начинается с чего-то вроде SGVsbG8 и содержит буквы дальше f, это Base64: декодируйте его через Base64 в текст. Чтобы перекодировать байты из hex в Base64 для API или конфига, используйте Hex в Base64. Когда применяется каждый из форматов, разобрано в сравнении hex, Base32, Base58 и Base85.

Hex в строку в коде

bytes.fromhex("48656c6c6f").decode("utf-8")       # 'Hello'
bytes.fromhex("48 65 6c 6c 6f").decode("utf-8")   # spaces are fine: 'Hello'

bytes.fromhex пропускает пробелы, но не принимает двоеточия и 0x, так что их нужно убрать заранее. В Node.js:

Buffer.from("48656c6c6f", "hex").toString("utf8");   // 'Hello'
Buffer.from("48zz65", "hex");                         // <Buffer 48>

Вторая строка показывает ловушку: Buffer.from останавливается на первом символе, который не относится к hex, и возвращает то, что успел прочитать, без всякой ошибки. Другие приёмы показаны на страницах про Python и Node.js.

Вопросы и ответы

Как перевести hex в ASCII?

Вставьте hex и прочитайте результат. ASCII покрывает только байты от 00 до 7F, поэтому выберите в Кодировка вариант ASCII, если хотите, чтобы всё, что выше, показывалось как �, а не читалось как UTF-8.

Что за текст 48 65 6c 6c 6f?

Hello. 48 означает H, 65 – e, 6c – l (дважды), а 6f – o.

Почему hex превращается в é или другие странные символы?

Байты в UTF-8 читаются как Latin-1 или Windows-1252, либо наоборот. c3 a9 в UTF-8 означает é, а в Windows-1252 é. Перебирайте Кодировка, пока текст не станет читаемым.

Что значит «нечётное число hex-цифр»?

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

Можно ли поделиться ссылкой на конвертацию?

Да. Добавьте к адресу страницы #in= и hex, например /hex-to-text/#in=48656c6c6f. Часть после # остаётся в браузере и не отправляется на сервер.