Base64 Кодировщик Декодер
Кодируйте текст в Base64 или мгновенно декодируйте текст Base64.
Инструмент кодировщика
Преобразуйте текст в Base64 и декодируйте строки Base64 без перезагрузки страницы.
Кодируйте текст в Base64 или мгновенно декодируйте текст Base64.
Продолжайте рабочий процесс с помощью ближайших разработчиков и утилит обработки данных.
Чтобы закодировать, введите или вставьте обычный текст в поле ввода и нажмите Кодировать — в поле вывода появится версия Base64. Чтобы выполнить обратное преобразование, вставьте строку Base64 и нажмите Декодировать, и исходный текст будет восстановлен. Кнопка Копировать помещает результат в буфер обмена. Если попытаться декодировать то, что не является корректным Base64, строка состояния сообщит об ошибке, и вы сможете проверить лишние пробелы, переносы строк или недостающее дополнение перед повторной попыткой.
Base64 — это способ представить произвольные двоичные данные с помощью всего 64 печатных символов ASCII: букв от A до Z и от a до z, цифр от 0 до 9 и символов + и /. Он читает вход по три байта (24 бита) и заново нарезает эти биты на четыре группы по 6 бит, каждая из которых соответствует одному из 64 символов. Цель — провести данные, которые могут содержать байты, способные «сломать» текстовый канал (управляющие коды или значения вне ASCII), через системы, ожидающие только обычный текст. Base64 используется в data URI, вложениях электронной почты (MIME) и полезной нагрузке токенов. Важно: Base64 — это не шифрование: преобразование общеизвестно и полностью обратимо, поэтому оно ничего не скрывает.
Кодирование чисто механическое. Каждая короткая строка ниже превращается в чуть более длинную строку Base64, а завершающие символы = показывают, где добавлено дополнение для завершения последней группы из четырёх символов.
| Обычный текст | Base64 |
|---|---|
M | TQ== |
Hi | SGk= |
Cat | Q2F0 |
OneTools | T25lVG9vbHM= |
user:pass | dXNlcjpwYXNz |
Обратите внимание: Cat (ровно три буквы) не требует дополнения, а вход из одного или двух символов заканчивается на == или =.
HTTP-аутентификация Basic передаёт учётные данные в виде Base64. Строка user:pass кодируется в dXNlcjpwYXNz и отправляется заголовком Authorization: Basic dXNlcjpwYXNz. Любой, кто перехватит этот заголовок, одним шагом декодирует его обратно в user:pass — именно поэтому Basic auth безопасна только поверх HTTPS. Это самое наглядное напоминание: Base64 кодирует для передачи, но не защищает содержимое.
Разработчики прибегают к Base64 постоянно: встраивают маленькую иконку прямо в CSS как data URI, изучают полезную нагрузку JSON Web Token, формируют заголовок HTTP Basic auth или вставляют фрагмент из исходного кода письма, чтобы понять, что в нём на самом деле. Делать такие преобразования вручную легко с ошибками, а консольные утилиты не всегда под рукой. Эта страница даёт мгновенное двустороннее преобразование с кнопкой копирования: можно за секунды закодировать значение для файла конфигурации или декодировать загадочную строку, не покидая браузер.
Всё выполняется локально в вашем браузере с помощью встроенных в платформу функций Base64, поэтому кодирование и декодирование совпадают с тем, что выдадут ваш код и серверы. Ничто из введённого не загружается, не журналируется и не хранится на сервере. Поскольку Base64 не является мерой безопасности, относитесь к декодированному результату так же, как к исходным данным: строка Base64 не даёт никакой защиты, поэтому никогда не полагайтесь на неё, чтобы скрыть пароли, ключи API или персональные данные.
Нет. Base64 — это схема кодирования, а не шифрование. Соответствие байтов и символов общеизвестно, поэтому любой может мгновенно выполнить обратное преобразование. Base64 делает данные безопасными для передачи по текстовым каналам, но не добавляет никакой секретности. Никогда не используйте его для защиты паролей, токенов или других секретов.
Стандартный Base64 использует символы + и /, которые имеют особое значение в URL. URL-безопасный вариант заменяет + на - и / на _, поэтому строку можно поместить в строку запроса или путь без дополнительного экранирования. Именно этот вариант применяется в JSON Web Token, поэтому JWT содержат дефисы и подчёркивания вместо плюса и слеша.
Base64 обрабатывает данные группами по три байта, которые превращаются в четыре символа. Когда длина входа не кратна трём, в конец добавляются один или два символа = для дополнения последней группы. Один = означает, что последняя группа содержала два байта, а == — что один байт. Дополнение позволяет декодеру точно понять, сколько настоящих байтов в последней группе.
Data URI вроде data:image/png;base64,iVBORw0KGgo... содержит полезную нагрузку Base64 после запятой. Эту нагрузку можно декодировать здесь, но результатом будут необработанные двоичные байты, а не читаемый текст, ведь изображение текстом не является. Чтобы реально увидеть картинку, вставьте весь data URI в адресную строку браузера, и он отрисует изображение.
Да. Поскольку каждые три байта превращаются в четыре символа ASCII, результат Base64 примерно на 33 процента больше исходных данных. Этот рост — плата за возможность безопасно переносить двоичные данные через каналы, принимающие только текст, например тела писем, поля JSON и атрибуты HTML. Для больших файлов именно из-за этой избыточности чаще предпочитают ссылки, а не встроенный Base64.