# Codificador y decodificador Base64

> Codifica y decodifica texto a Base64 online. Soporta UTF-8, acentos y modo URL-Safe. Explica el funcionamiento paso a paso. Gratis, sin registro.

URL: https://acrafto.com/es/codificador-base64-decodificador-online/

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.

Necesitas convertir texto legible a formato Base64 para usar en cabeceras HTTP, o descifrar el contenido de un token de API? Nuestro **Codificador y Decodificador de Texto Base64** es una herramienta especializada para trabajar con cadenas de texto que puede manejar complejidades como la diacrítica o los caracteres especiales.

> **¿Trabajas con imágenes?** Si tu código comienza con `data:image/png...` o quieres convertir un archivo a texto, esta herramienta solo mostrará caracteres sin sentido. Utiliza nuestra herramienta especializada para la conversión de imágenes.

## ¿Cómo funciona el formato Base64?

Mucha gente usa Base64 a diario, pero pocos saben cómo funciona “bajo el capó”. No es magia, sino matemáticas simples con bits.

El texto común en un ordenador se almacena en 8 bits (1 byte). Sin embargo, Base64 utiliza un “alfabeto” de 64 caracteres (`A-Z`, `a-z`, `0-9`, `+`, `/`). Dado que `2^6 = 64`, un carácter Base64 representa exactamente **6 bits** de información.

**Proceso de conversión (Algoritmo):**

1. Se toman tres caracteres de tu texto (3 × 8 bits = 24 bits).
2. Esos 24 bits se dividen en cuatro grupos de 6 bits cada uno.
3. A cada grupo se le asigna un carácter de la tabla Base64.

**Consecuencia:** Como convertimos 3 caracteres en 4 caracteres, la cadena Base64 resultante es siempre aproximadamente un **33% más larga** que el texto original.

## Problema del conjunto de caracteres: ¿Por qué los conversores Base64 comunes dañan el español (UTF-8)?

Si alguna vez has intentado codificar una palabra con acentos o eñes, por ejemplo, “Niño” en la consola del navegador usando la función `btoa('Niño')`, probablemente obtuviste un error: *String contains characters outside of the Latin1 range*.

Base64 fue diseñado originalmente para caracteres ASCII de 7 bits. Sin embargo, el español, los emojis y otros símbolos especiales (UTF-8) ocupan más bytes en la memoria (caracteres multibyte).

- La letra `a` = 1 byte.
- La letra `ñ` = 2 bytes.
- El emoji 🚀 = 4 bytes.

Nuestra herramienta resuelve este problema. Antes de la codificación Base64 en sí, el texto se convierte correctamente a una secuencia de bytes UTF-8. Gracias a esto, puedes codificar de forma segura objetos JSON, textos en español y símbolos modernos sin riesgo de dañar los datos.

## ¿Dónde se utiliza la codificación de texto Base64?

Aunque las imágenes en Base64 se utilizan principalmente para incrustar en CSS/HTML, el texto Base64 tiene usos completamente diferentes en los sistemas backend:

### 1\. Autenticación Básica HTTP

Cuando te autenticas en una API, la cabecera a menudo se ve así: `Authorization: Basic dXN1YXJpbzpwYXNzd29yZA==` Detrás de este código se esconde simplemente un nombre de usuario y contraseña combinados en el formato `usuario:password`. Nuestra herramienta te permite generar o verificar estas cabeceras fácilmente.

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

Las aplicaciones web modernas utilizan los llamados JWT para el inicio de sesión. Un token así parece tres cadenas largas separadas por puntos. La parte de los datos (Payload) es un objeto JSON común codificado en Base64.

- **Consejo:** Intenta pegar aquí la parte central de tu token JWT y decodificarla. Verás exactamente qué datos tuyos registra la aplicación (ej. ID de usuario, expiración).

### 3\. Archivos de configuración (Kubernetes Secrets)

Plataformas como Kubernetes almacenan datos secretos (Secrets) en archivos de configuración YAML precisamente en Base64. Esto no es cifrado, sino una forma de almacenar datos binarios o texto con caracteres problemáticos (saltos de línea, comillas) en un archivo de texto.

## ¿Qué es la “codificación Base64 URL Safe” y por qué importa?

El alfabeto Base64 estándar contiene los caracteres `+` (más) y `/` (barra). Ambos caracteres tienen un significado especial en las URL:

- `/` separa directorios.
- `+` a menudo se interpreta como un espacio.

Si enviaras un Base64 estándar en un parámetro de URL (ej. `sitio.com?token=ab/cd+ef`), el servidor podría leer los datos incorrectamente.

**Solución (Modo URL Safe):** Nuestro interruptor activa una variante **Base64URL** (según RFC 4648), que realiza los siguientes cambios:

- `+` se cambia a `-` (guion).
- `/` se cambia a `_` (guion bajo).
- Al final, se eliminan los caracteres `=` (relleno), que no son necesarios en las URL.

---

## Mito: ¡Base64 no es cifrado!

Es importante comprender una diferencia fundamental que los principiantes a menudo confunden:

1. **Codificación (Encoding - Base64):** Se utiliza para transferir datos. Es como empacar algo en una maleta para que no se rompa en el camino. Cualquiera que encuentre la maleta puede abrirla (decodificarla) y ver el contenido. **No es seguro para datos secretos.**
2. **Cifrado (Encryption - AES, RSA):** Bloquea los datos con una clave. Sin la clave, no se puede acceder al contenido.
3. **Hashing (Hashing - SHA, MD5):** Un proceso unidireccional (ej. para almacenar contraseñas). El texto original no se puede obtener del resultado.

*Si necesitas enviar una contraseña o un dato sensible, Base64 por sí solo no es suficiente. Debes usar HTTPS (SSL/TLS), que cifra la transmisión.*

---

## Preguntas Frecuentes (FAQ)

### ¿Qué significan los caracteres "=" al final de la cadena?

Eso es el llamado "padding" (relleno). Debido a que Base64 codifica datos en grupos de 3 caracteres, puede suceder que la longitud del texto original no sea divisible por tres. Los caracteres \`=\` se añaden al final para que el decodificador sepa cuántos bits debe ignorar al final.

### ¿Por qué el texto decodificado aparece como "galimatías"?

Probablemente estás intentando decodificar datos que no son texto. Si una cadena Base64 representa un archivo comprimido (ZIP), una imagen o datos cifrados, la conversión a texto (UTF-8) no tiene sentido. Intenta averiguar el origen de los datos.

### ¿Funciona la herramienta sin conexión?

Sí. Toda la lógica de conversión está escrita en JavaScript y se ejecuta directamente en tu navegador. Una vez que la página se carga, puedes desconectarte de internet y la herramienta seguirá funcionando. Tus datos no se envían a ningún servidor.

## 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))
- 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))
- Русский (ru): [Base64 кодировщик и декодировщик](https://acrafto.com/ru/base64-koder-dekoder/) ([Markdown](https://acrafto.com/ru/base64-koder-dekoder/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))
