Загрузить файл
  1. base64hub
  2. Текстовые инструменты
  3. Текст в Base64

Текст в Base64: перевести строку в Base64

Введите строку и сразу получите её Base64. Результат зависит от байтов, поэтому здесь можно выбрать кодировку и увидеть, сколько именно байтов было закодировано.

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

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

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

  1. Введите или вставьте строку в поле Ввод · текст. Кодируется ровно то, что вы ввели, включая пробелы и переводы строк.
  2. Base64 появляется в поле Результат · Base64. Счётчик Ввод под кнопками показывает, во сколько байтов превратился ваш текст.
  3. Не трогайте поле Кодировка (UTF-8), если система, которая будет декодировать значение, не ждёт другой кодировки.
  4. Отметьте URL-safe (- _) и Без дополнения (=), если строка пойдёт в URL или токен.
  5. Нажмите Скопировать результат или Скачать, чтобы сохранить его как base64.txt.

Обратное преобразование делает Base64 в текст, а чтобы декодировать результат прямо здесь, нажмите Поменять местами.

Одна строка и несколько вариантов Base64

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

СтрокаКодировкаБайтовBase64
GrüßeUTF-87R3LDvMOfZQ==
GrüßeWindows-1252 или ISO-8859-15R3L832U=
GrüßeUTF-16LE10RwByAPwA3wBlAA==
GrüßeUTF-16BE10AEcAcgD8AN8AZQ==

Невидимые символы тоже считаются. Hello кодируется в SGVsbG8=, Hello с пробелом в конце в SGVsbG8g, а Hello с переводом строки Windows в SGVsbG8NCg==. В многострочных значениях классическая ловушка связана с переводами строк: line1 и line2, соединённые через \n, кодируются как bGluZTEKbGluZTI=, а через \r\n как bGluZTENCmxpbmUy. Если две системы расходятся в значении, сначала сравните число байтов.

Какой длины будет строка Base64

Каждые 3 байта входа превращаются в 4 символа, а последняя группа из 1 или 2 байтов дополняется знаками = до 4.

Байтов на входеСимволов Base64Пример (x повторяется)
14eA==
24eHg=
34eHh4
48eHh4eA==
1016eHh4eHh4eHh4eA==

Значит, строка вырастает примерно на треть, а если в ней есть не-ASCII символы, которые в UTF-8 занимают по несколько байтов, ещё сильнее. Точные цифры для вывода с переносами приведены на странице о накладных расходах Base64.

Куда попадают закодированные строки

Строки переводят в Base64 в основном для того, чтобы пронести их через места, где не любят спецсимволы:

  • Переменные окружения и секреты CI, где значение с кавычками, $ или переводами строк испортится. postgres://app:s3cret@db:5432/app превращается в cG9zdGdyZXM6Ly9hcHA6czNjcmV0QGRiOjU0MzIvYXBw: одна строка, которую не нужно экранировать.
  • Kubernetes Secrets: значения в data: обязаны быть в Base64. Прочитать их обратно поможет декодер Kubernetes Secret.
  • HTTP-заголовки, например Authorization: Basic с закодированной парой user:password. Готовый заголовок соберёт генератор Basic Auth.
  • Поля JSON и XML, в которых нужно передать произвольный текст, не воюя с правилами экранирования (JSON в Base64).

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

Строка в Base64 в коде

import base64

base64.b64encode("Grüße".encode("utf-8")).decode("ascii")   # 'R3LDvMOfZQ=='
base64.b64encode("Grüße".encode("cp1252")).decode("ascii")  # 'R3L832U='
// Node.js
Buffer.from("Grüße", "utf8").toString("base64");     // "R3LDvMOfZQ=="
Buffer.from("Grüße", "utf16le").toString("base64");  // "RwByAPwA3wBlAA=="

В обоих языках шаг «строка → байты» прописан явно, и именно там выбирается кодировка. Подробнее на страницах Python и Node.js.

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

Как перевести строку в Base64?

Сначала строка превращается в байты через кодировку (почти везде это UTF-8), затем байты кодируются в Base64. Инструмент выше делает оба шага; в Python то же самое делает base64.b64encode(s.encode("utf-8")).decode().

Один и тот же текст всегда даёт одинаковый Base64?

Только если совпадают байты. Grüße в UTF-8 кодируется в R3LDvMOfZQ==, а в Windows-1252 в R3L832U=. Лишний пробел или перевод строки тоже меняет результат.

Какой длины получится строка Base64?

4 × ⌈n / 3⌉ символов для n байтов входных данных, без учёта переносов строк. Строка из 10 байтов даёт 16 символов; для любой длины посчитает калькулятор размера.

Можно ли хранить Base64 в конфиге или переменной окружения?

Да, это одно из главных применений: любое значение, включая переводы строк и кавычки, превращается в одну строку из безопасных символов. Чтобы она осталась одной строкой, оставьте «Перенос строк» в положении «Нет».