# Base64 кодировщик и декодировщик

> Мощный онлайн-инструмент для кодирования и декодирования Base64. Поддерживает UTF-8, URL-safe формат и объясняет принцип кодирования. Бесплатно и безопасно.

URL: https://acrafto.com/ru/base64-koder-dekoder/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Нужно преобразовать читаемый текст в формат Base64 для использования в HTTP-заголовках или, наоборот, расшифровать содержимое токена API? Наш **текстовый кодировщик и декодировщик Base64** — это специализированный инструмент для работы с текстовыми строками, который справляется даже с такими сложностями, как диакритические знаки или специальные символы.

> **Работаете с изображениями?**  
> Если ваш код начинается с `data:image/png...` или вы хотите преобразовать файл в текст, этот инструмент покажет вам только бессмысленные символы. Используйте наш специализированный инструмент для преобразования в изображение.

## Как работает формат Base64?

Многие люди используют Base64 ежедневно, но мало кто знает, как он работает “под капотом”. Это не магия, а простая математика с битами.

Обычный текст в компьютере хранится по 8 бит (1 байт). Однако Base64 использует “алфавит” из 64 символов (`A-Z`, `a-z`, `0-9`, `+`, `/`). Поскольку `2^6 = 64`, один символ Base64 представляет ровно **6 бит** информации.

**Процесс преобразования (Алгоритм):**

1. Берутся три символа вашего текста (3 × 8 бит = 24 бита).
2. Эти 24 бита делятся на четыре группы по 6 бит.
3. Каждой группе присваивается символ из таблицы Base64.

**Следствие:** Поскольку мы преобразуем 3 символа в 4 символа, результирующая строка Base64 всегда примерно **на 33 % длиннее** исходного текста.

## Проблема кодировки: Почему обычные конвертеры Base64 искажают кириллицу?

Если вы когда-либо пробовали закодировать слово “Привет” в консоли браузера с помощью функции `btoa('Привет')`, вы, вероятно, получали ошибку: *String contains characters outside of the Latin1 range.*

Base64 изначально был разработан для 7-битных символов ASCII. Однако кириллица, эмодзи и другие специальные символы (UTF-8) занимают в памяти больше байтов (многобайтовые символы).

- Буква `a` = 1 байт.
- Буква `я` = 2 байта.
- Эмодзи 🚀 = 4 байта.

Наш инструмент решает эту проблему. Перед самим кодированием в Base64 мы корректно преобразуем текст в последовательность байтов UTF-8. Благодаря этому вы можете безопасно кодировать объекты JSON, русские тексты и современные символы без риска повреждения данных.

## Где используется текстовое кодирование Base64?

В то время как изображения в Base64 служат в основном для встраивания в CSS/HTML, текстовый Base64 имеет совершенно иное применение в бэкенд-системах:

### 1\. Базовая аутентификация HTTP

Когда вы входите в API, заголовок часто выглядит так: `Authorization: Basic 0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMOtC/0LDRgNC+0LvRjA==` За этим кодом скрывается просто объединенное имя пользователя и пароль в формате `пользователь:пароль`. Наш инструмент позволит вам легко генерировать или проверять эти заголовки.

### 2\. JSON Web Tokens (JWT)

Современные веб-приложения используют для входа так называемый JWT. Такой токен выглядит как три длинные строки, разделенные точкой. Часть с данными (Payload) — это обычный объект JSON, закодированный в Base64.

- **Совет:** Попробуйте вставить сюда среднюю часть вашего токена JWT и декодировать ее. Вы увидите, какие данные о вас хранит приложение (например, ID пользователя, срок действия).

### 3\. Файлы конфигурации (Kubernetes Secrets)

Платформы, такие как Kubernetes, хранят секретные данные (Secrets) в конфигурационных файлах YAML именно в Base64. Это не шифрование, а способ сохранить в текстовом файле бинарные данные или текст с проблемными символами (новые строки, кавычки).

## Что такое “URL Safe Base64 encoding” и почему это важно?

Стандартный алфавит Base64 содержит символы `+` (плюс) и `/` (косая черта). Оба этих символа имеют особое значение в URL-адресах:

- `/` разделяет каталоги.
- `+` часто интерпретируется как пробел.

Если бы вы отправили стандартный Base64 в параметре URL (например, `site.com?token=ab/cd+ef`), сервер мог бы неправильно прочитать данные.

**Решение (режим URL Safe):** Наш переключатель активирует вариант **Base64URL** (согласно RFC 4648), который выполняет следующие изменения:

- `+` заменяется на `-` (дефис).
- `/` заменяется на `_` (подчеркивание).
- В конце удаляются символы `=` (дополнение/выравнивание), которые в URL не нужны.

---

## Миф: Base64 не является шифрованием!

Важно понимать принципиальную разницу, которую часто путают новички:

1. **Кодирование (Encoding - Base64):** Служит для передачи данных. Это как упаковать вещь в чемодан, чтобы она не разбилась в дороге. Любой, кто найдет чемодан, может открыть его (декодировать) и увидеть содержимое. **Это небезопасно для секретных данных.**
2. **Шифрование (Encryption - AES, RSA):** Запирает данные ключом. Без ключа к содержимому не получить доступ.
3. **Хеширование (Hashing - SHA, MD5):** Односторонний процесс (например, для хранения паролей). Из результата невозможно получить исходный текст.

*Если вам нужно отправить пароль или конфиденциальные данные, одного Base64 недостаточно. Вы должны использовать HTTPS (SSL/TLS), который зашифрует передачу.*

---

## Часто задаваемые вопросы (FAQ)

### Что означают символы "=" в конце строки?

Это так называемый "padding" (дополнение). Поскольку Base64 кодирует данные группами по 3 символа, может случиться так, что длина исходного текста не делится на три. Символы \`=\` добавляются в конец, чтобы декодер знал, сколько битов нужно игнорировать в конце.

### Почему декодированный текст отображается как "каша из символов"?

Вероятно, вы пытаетесь декодировать данные, которые не являются текстом. Если строка Base64 представляет сжатый файл (ZIP), изображение или зашифрованные данные, преобразование в текст (UTF-8) не имеет смысла. Попробуйте выяснить происхождение данных.

### Работает ли инструмент офлайн?

Да. Вся логика преобразования написана на JavaScript и выполняется непосредственно в вашем браузере. Как только страница загрузится, вы можете отключиться от интернета, и инструмент будет продолжать работать. Ваши данные никуда не отправляются.

## Other languages

- Čeština (cs): [Base64 Encoder a Decoder](https://acrafto.com/cs/base64-decoder-encoder/) ([Markdown](https://acrafto.com/cs/base64-decoder-encoder/index.md))
- Slovenčina (sk): [Base64 kódovač a dekódovač](https://acrafto.com/sk/base64-kodovac-dekodovac-online/) ([Markdown](https://acrafto.com/sk/base64-kodovac-dekodovac-online/index.md))
- English (en): [Base64 Encoder and Decoder](https://acrafto.com/en/base64-encoder-decoder/) ([Markdown](https://acrafto.com/en/base64-encoder-decoder/index.md))
- Deutsch (de): [Base64 Encoder und Decoder](https://acrafto.com/de/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/de/base64-encoder-decoder-online/index.md))
- Français (fr): [Encodeur et décodeur Base64](https://acrafto.com/fr/encodeur-decodeur-base64/) ([Markdown](https://acrafto.com/fr/encodeur-decodeur-base64/index.md))
- Español (es): [Codificador y decodificador Base64](https://acrafto.com/es/codificador-base64-decodificador-online/) ([Markdown](https://acrafto.com/es/codificador-base64-decodificador-online/index.md))
- Italiano (it): [Encoder e decoder Base64](https://acrafto.com/it/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/it/encoder-decoder-base64-online/index.md))
- Português (pt): [Codificador e decodificador Base64](https://acrafto.com/pt/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/pt/encoder-decoder-base64-online/index.md))
- Nederlands (nl): [Base64 encoder en decoder](https://acrafto.com/nl/base64-encoder-decoder/) ([Markdown](https://acrafto.com/nl/base64-encoder-decoder/index.md))
- Polski (pl): [Koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) ([Markdown](https://acrafto.com/pl/koder-dekoder-base64-online/index.md))
- Română (ro): [Base64 encoder și decoder](https://acrafto.com/ro/codor-decodor-base64/) ([Markdown](https://acrafto.com/ro/codor-decodor-base64/index.md))
- Magyar (hu): [Base64 kódoló és dekódoló](https://acrafto.com/hu/base64-kodolo-dekodolo-online/) ([Markdown](https://acrafto.com/hu/base64-kodolo-dekodolo-online/index.md))
- Ελληνικά (el): [Κωδικοποίηση και αποκωδικοποίηση Base64](https://acrafto.com/el/base64-encoder-decoder/) ([Markdown](https://acrafto.com/el/base64-encoder-decoder/index.md))
- Български (bg): [Base64 енкодер и декодер](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/) ([Markdown](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/index.md))
- Hrvatski (hr): [Base64 koder i dekoder](https://acrafto.com/hr/base64-koder-dekoder/) ([Markdown](https://acrafto.com/hr/base64-koder-dekoder/index.md))
- Slovenščina (sl): [Base64 kodirnik in dekodirnik](https://acrafto.com/sl/base64-kodirnik-dekodirnik/) ([Markdown](https://acrafto.com/sl/base64-kodirnik-dekodirnik/index.md))
- Eesti (et): [Base64 kodeerija ja dekodeerija](https://acrafto.com/et/base64-teisendaja/) ([Markdown](https://acrafto.com/et/base64-teisendaja/index.md))
- Latviešu (lv): [Base64 kodētājs un dekodētājs](https://acrafto.com/lv/base64-kodetajs-dekodetajs/) ([Markdown](https://acrafto.com/lv/base64-kodetajs-dekodetajs/index.md))
- Lietuvių (lt): [Base64 koduotuvas ir dekoduotuvas](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/) ([Markdown](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/index.md))
- Svenska (sv): [Base64 encode och decode](https://acrafto.com/sv/base64-kodare-avkodare-online/) ([Markdown](https://acrafto.com/sv/base64-kodare-avkodare-online/index.md))
- Dansk (da): [Base64 encoder og dekoder](https://acrafto.com/da/base64-encoder-dekoder-online/) ([Markdown](https://acrafto.com/da/base64-encoder-dekoder-online/index.md))
- Suomi (fi): [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) ([Markdown](https://acrafto.com/fi/base64-kooderi-dekooderi/index.md))
- Norsk (no): [Base64-enkoder og -dekoder](https://acrafto.com/no/base64-enkoder-dekoder/) ([Markdown](https://acrafto.com/no/base64-enkoder-dekoder/index.md))
- Українська (uk): [Base64 кодер і декодер](https://acrafto.com/uk/base64-koder-dekoder-onlajn/) ([Markdown](https://acrafto.com/uk/base64-koder-dekoder-onlajn/index.md))
- Српски (sr): [Base64 enkoder i dekoder](https://acrafto.com/sr/base64-enkoder-dekoder-online/) ([Markdown](https://acrafto.com/sr/base64-enkoder-dekoder-online/index.md))
- Македонски (mk): [Base64 енкодер и декодер](https://acrafto.com/mk/base64-converter/) ([Markdown](https://acrafto.com/mk/base64-converter/index.md))
- Bosanski (bs): [Base64 koder i dekoder](https://acrafto.com/bs/base64-koder-dekoder/) ([Markdown](https://acrafto.com/bs/base64-koder-dekoder/index.md))
- Shqip (sq): [Base64 kodues dhe dekodues](https://acrafto.com/sq/kodues-dekodues-base64-online/) ([Markdown](https://acrafto.com/sq/kodues-dekodues-base64-online/index.md))
- Türkçe (tr): [Base64 kodlayıcı ve çözücü](https://acrafto.com/tr/base64-kodlayici-cozucu-online/) ([Markdown](https://acrafto.com/tr/base64-kodlayici-cozucu-online/index.md))
- 日本語 (ja): [Base64エンコード・デコード](https://acrafto.com/ja/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ja/base64-encoder-decoder/index.md))
- 한국어 (ko): [Base64 인코딩 디코딩](https://acrafto.com/ko/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ko/base64-encoder-decoder/index.md))
- العربية (ar): [ترميز وفك ترميز Base64](https://acrafto.com/ar/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ar/base64-encoder-decoder/index.md))
- हिन्दी (hi): [Base64 एन्कोडर और डिकोडर](https://acrafto.com/hi/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/hi/base64-encoder-decoder-online/index.md))
- Bahasa Indonesia (id): [Base64 encode dan decode](https://acrafto.com/id/konverter-base64-online/) ([Markdown](https://acrafto.com/id/konverter-base64-online/index.md))
- Tiếng Việt (vi): [Mã hóa và giải mã Base64](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/) ([Markdown](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/index.md))
- ไทย (th): [เข้ารหัสและถอดรหัส Base64](https://acrafto.com/th/base64-encoder-decoder/) ([Markdown](https://acrafto.com/th/base64-encoder-decoder/index.md))
- עברית (he): [קידוד ופענוח Base64](https://acrafto.com/he/base64-encoder-decoder/) ([Markdown](https://acrafto.com/he/base64-encoder-decoder/index.md))
