Язык: Русский

tools / base64

base64/

Преобразование текста, файлов и изображений в Base64 и обратно. UTF-8, поддержка формата URL-safe.

Исходный текст

Base64

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

Что делать, если при декодировании Base64 появляется «Содержит символы, не входящие в Base64» или «Недопустимая длина»

Сначала проверьте, что текст полный и без лишнего. Допустимые символы: A–Z, a–z, 0–9, + и /, а также - и _ в варианте URL-safe; = может стоять только в конце. Пробелы, переводы строк и префикс data:...;base64, в начале игнорируются автоматически. Полноширинные символы, кавычки и остатки URL-кодирования вроде %2B вызывают ошибку «Содержит символы, не входящие в Base64», а «Недопустимая длина» чаще всего означает, что при копировании потерялись символы.

Что делать, если после декодирования появляется «Содержимое не является текстом UTF-8» или результат выглядит как «кракозябры»

Это значит, что декодированные байты не являются текстом UTF-8. Обычно исходный текст был в другой кодировке, например GBK или Windows-1251, либо данные изначально двоичные: изображение, архив, зашифрованные байты. Инструмент показывает только текст в UTF-8 и не станет выводить другие кодировки в виде «кракозябр». Двоичные данные можно сохранить кнопкой «Скачать файл»; текст в GBK нужно конвертировать в программе, которая поддерживает эту кодировку.

Почему результат кодирования отличается от JS, Python или командной строки

Чаще всего причина в завершающем переводе строки или в другой кодировке символов. Этот инструмент кодирует содержимое поля ввода в UTF-8 как есть, не обрезая пробелы и переводы строк, а echo в командной строке по умолчанию добавляет в конце перевод строки, поэтому для совпадения нужен echo -n. Для кириллицы, иероглифов и эмодзи убедитесь, что другая сторона тоже использует UTF-8: btoa в JavaScript выдает ошибку, если передать ей такой текст напрямую, а в Python сначала нужно вызвать encode('utf-8'), и только потом b64encode.

Можно ли убрать = в конце и что такое «URL-safe»

При декодировании отсутствие = не мешает, инструмент добавит его сам; можно ли опускать = при отправке, зависит от получателя: некоторые библиотеки требуют его сохранять. Режим «URL-safe» заменяет + на -, / на _ и убирает завершающий =; это удобно для параметров URL и имен файлов, в JWT используется именно такая запись. При декодировании - и _ распознаются автоматически, ничего переключать не нужно.

Есть ли ограничение на размер файла при конвертации в Base64

Да, один файл может весить не более 20 MB, для больших файлов появится сообщение о превышении размера. По умолчанию результат — это Data URL с префиксом вида data:image/png;base64, (его можно сразу вставить в адрес изображения на странице или в CSS); если нужен чистый Base64, удалите все до запятой включительно. Base64 увеличивает объем примерно на треть, поэтому встраивать большие изображения не рекомендуется.

Как превратить Base64 обратно в изображение или файл

Переключитесь на «Декодировать» и вставьте Base64 или полный Data URL. Изображения (PNG, JPEG, GIF, WebP) показываются в предпросмотре, текст выводится сразу, для остальных двоичных данных показывается только размер. В любом случае результат можно сохранить кнопкой «Скачать файл»: изображения получают имя по формату, остальное сохраняется как decoded.bin, при необходимости измените расширение сами.

Base64 — это шифрование? Можно ли им скрыть данные

Нет. Base64 лишь записывает байты печатаемыми символами, и любой может восстановить исходные данные: ни ключа, ни секретности здесь нет. Для защиты данных используйте настоящие алгоритмы шифрования, например AES.

Отправляются ли введенный текст и файлы на сервер

Нет. Кодирование и декодирование выполняются в браузере, а выбранный файл читается только на вашем устройстве и никуда не отправляется.