Ejemplo verificable
El texto Unicode:
Hola, mundo 👋
se codifica como UTF-8 y produce exactamente:
SG9sYSwgbXVuZG8g8J+Riw==
Si seleccionas Base64 → texto UTF-8 y pegas la segunda cadena, recuperas el texto original. El emoji ocupa cuatro bytes UTF-8, por eso no es correcto pasar el texto directamente por funciones que solo admiten caracteres de un byte.
En modo Base64URL, el texto ??? produce Pz8_. La barra / del alfabeto
estándar se sustituye por _; si desmarcas el padding, la herramienta omite
los = finales sin cambiar los bytes representados.
Cómo funciona Base64
Base64 representa bytes mediante un alfabeto de 64 caracteres ASCII. Cada grupo
de tres bytes se divide en cuatro valores de seis bits. Cuando el último grupo
está incompleto, la salida utiliza uno o dos caracteres = como padding.
La herramienta permite elegir los dos alfabetos de RFC 4648. Base64 estándar
usa + y /; Base64URL usa - y _ para poder viajar con menos escapes en
URL y nombres de archivo. El selector hace explícita la variante y evita
adivinarla cuando una cadena no contiene ninguno de esos cuatro caracteres.
Antes de codificar, TextEncoder convierte el texto a UTF-8; al decodificar,
TextDecoder exige que los bytes formen UTF-8 válido.
Base64 no cifra, comprime ni aplica un hash. Cualquiera que reciba la cadena puede recuperar su contenido. Se utiliza para representar datos mediante texto, no para proteger secretos.
Reglas al decodificar
- Se aceptan cadenas con el padding final
=o==. - También se acepta padding omitido cuando puede reconstruirse sin ambigüedad.
- Espacios, tabuladores y saltos de línea se ignoran y se notifican.
- El padding presente debe estar completo y aparecer solo al final.
- Los bits de relleno deben formar una representación canónica.
- El alfabeto debe coincidir con el modo elegido:
+y/en Base64, o-y_en Base64URL. - El resultado debe ser texto UTF-8 válido.
Una entrada como SG9sYQ se normaliza internamente a SG9sYQ== y devuelve
Hola. En cambio, /w== representa el byte hexadecimal FF, que por sí solo
no es texto UTF-8 válido y se rechaza con una explicación.
Unicode y resultados diferentes
La herramienta no normaliza Unicode. Dos textos visualmente iguales pueden
tener secuencias de puntos de código distintas y, por tanto, producir Base64
distinta. Por ejemplo, é puede ser un único carácter o una e seguida de un
acento combinante.
Esto no implica un error: Base64 conserva bytes, no la apariencia visual. Si una API exige una normalización concreta, aplícala antes de codificar y usa la misma regla en ambos extremos.
Usos habituales
- Incluir texto corto dentro de un campo JSON o una configuración.
- Comprobar el valor Base64 que espera una API.
- Recuperar texto UTF-8 de una respuesta o cabecera conocida.
- Comparar una codificación con los vectores de prueba de RFC 4648.
Para preparar el documento que contiene la cadena puedes utilizar el formateador JSON. Si el documento no se puede analizar, el validador JSON localiza el primer error antes de revisar el valor Base64.
Si un servicio informa de padding incorrecto, sigue la guía para corregir errores de Base64 y padding. Para entender por qué fallan tildes o emojis, consulta Base64 y UTF-8.
Errores frecuentes
- Elegir Base64 estándar para una cadena Base64URL, o al revés.
- Suponer que Base64 oculta una contraseña o token.
- Codificar caracteres Unicode como si cada carácter fuera un byte.
- Eliminar contenido y dejar una longitud imposible de cuatro en cuatro.
- Colocar
=en medio de la cadena o añadir más de dos. - Intentar mostrar un archivo binario como texto UTF-8.
Casos límite y límites
- Una entrada vacía se rechaza para evitar un resultado vacío ambiguo.
- Se conservan saltos de línea y caracteres de control válidos del texto.
- Un U+FEFF inicial se conserva durante la ida y vuelta.
- No se aplica normalización Unicode NFC o NFD.
- La entrada se limita a 1.000.000 de caracteres para proteger la pestaña.
- Esta versión no lee archivos ni genera
data:URLs. - MIME completo y alfabetos personalizados quedan fuera del alcance.
Privacidad
La entrada y el resultado permanecen en esta pestaña. No se realizan peticiones de procesamiento, no se usa almacenamiento, no se añaden datos a la URL y no se registra el contenido.
Preguntas frecuentes
¿Base64 sirve para cifrar información?
No. Es una representación reversible. No utilices Base64 para proteger contraseñas, claves, tokens u otros secretos.
¿Por qué se rechaza una imagen Base64 válida?
Esta página convierte texto UTF-8. Una imagen contiene bytes binarios que no tienen por qué formar texto y necesita una interfaz de archivos distinta.
¿Se puede omitir el padding final?
Puedes elegir si la salida lo incluye. Al decodificar, la herramienta acepta
padding completo o puede reconstruir uno o dos = ausentes cuando la longitud
restante lo permite. El protocolo receptor decide cuál de las dos formas exige.
¿Se guarda el texto introducido?
No. Desaparece al recargar o cerrar la página y nunca se envía a Tools in a Tab.
Referencias técnicas
El alfabeto, el padding y los vectores se definen en RFC 4648. La conversión entre texto y bytes UTF-8 sigue el WHATWG Encoding Standard.