Кодирование и декодирование Base64
Преобразуйте текст или файлы в Base64 и обратно: с поддержкой UTF-8, URL-safe и data URL.
Работает полностью в браузере
Перетащите сюда файл для кодирования
До 25 МБ. Или перетащите его в любое место этой страницы.
Base64 в файл
Файлы до 25 МБ. Функция «Base64 в файл» принимает данные, которые после декодирования занимают до 25 МБ.
Как кодировать и декодировать Base64
- Для текста введите или вставьте его в поле, выберите «Кодировать» или «Декодировать», и результат появится по мере ввода.
- Включите URL-safe Base64 или перенос строк по 76 символов, если место, куда вы вставляете результат, этого требует.
- Для файла переключитесь на «Файл» и перетащите его сюда, чтобы получить Base64 или data URL. Чтобы сделать наоборот, вставьте Base64, задайте имя файла и скачайте его.
Для чего нужен Base64
Base64 представляет любую последовательность байтов с помощью 64 безопасных текстовых символов: A–Z, a–z, 0–9, плюса и косой черты. Каждые 3 байта превращаются в 4 символа, а последняя группа дополняется знаками =. Благодаря этому двоичные данные можно безопасно помещать в письма, JSON, HTML, URL и другие места, рассчитанные только на текст. Это кодирование, а не шифрование: любой может его обратить.
Текст сначала превращается в байты, и здесь важна кодировка символов. Инструмент использует UTF-8, стандарт в вебе, поэтому нелатинский текст и символы переживают преобразование туда и обратно. При декодировании проверяется, что результат является корректным UTF-8, и если это не так, вы получите сообщение: обычно это значит, что данные были файлом, а не текстом.
В режиме файла браузер читает файл и кодирует его небольшими порциями, чтобы страница не зависала. В обратную сторону инструмент декодирует вставленный Base64 в байты и отдаёт их вам как загрузку. По первым байтам он подбирает расширение файла для распространённых форматов, таких как PNG, JPEG, GIF, PDF и ZIP.
Советы
- Работаете с JSON, в котором есть значения Base64? Приведите его в порядок с помощью инструмента «Форматирование и проверка JSON».
- Нужны случайные идентификаторы? Загляните в «Генератор UUID».
- Экранирование текста для ссылки или строки запроса — другая задача: для неё подойдёт «Кодирование и декодирование URL». Чтобы прочитать JWT, внутри которого Base64url, используйте «Декодер JWT».
Вопросы и ответы
Загружается ли мой текст или файл?
Нет. Всё преобразуется в вашем браузере, ничего никуда не отправляется и не сохраняется.
Работает ли он с буквами с диакритикой и эмодзи?
Да. Перед кодированием текст преобразуется в байты UTF-8, а после декодирования читается как UTF-8, поэтому символы вроде é, ö, ✓ и эмодзи проходят туда и обратно без искажений. (Встроенная в браузер функция btoa на них бы выдала ошибку.)
Что такое URL-safe Base64?
В нём символы + и / заменены на - и _, а завершающее заполнение = убрано, чтобы результат можно было вставить в URL или имя файла. При декодировании инструмент понимает оба алфавита.
Почему при декодировании сообщается о недопустимом символе?
Base64 использует только буквы, цифры, плюс и косую черту (или минус и подчёркивание), а в конце могут стоять знаки равенства. Пробелы и переводы строк игнорируются, но любой другой символ инструмент показывает вместе с его позицией, чтобы вы могли его найти.
Чем data URL отличается от обычного Base64?
Data URL — это Base64 с префиксом вроде data:image/png;base64,, благодаря которому браузер может сразу использовать его как источник изображения или файла. Включите параметр data URL в режиме «Файл», чтобы получить такую форму.
Почему Base64 получается больше исходного файла?
Base64 записывает каждые 3 байта четырьмя символами, поэтому закодированный текст примерно на треть больше оригинала. Это способ передать двоичные данные в виде текста, а не шифрование и не сжатие.