Herramienta

Codificador Base64 y Base64URL online

Codifica o decodifica texto UTF-8 como Base64 o Base64URL con validación estricta.

Tus datos se procesan localmente en el navegador y no se envían a nuestros servidores.

Configuración Base64

Base64 representa bytes como texto ASCII; no cifra ni oculta el contenido.

Atajo: Ctrl o ⌘ + Intro
Solo lectura · alfabeto estándar

Introduce texto UTF-8 para codificarlo como Base64 estándar.

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.

Revisado el por Tools in a Tab.