Viendo en Español Ver en inglés

Codificador y decodificador Base64

Codifica texto a Base64 o decodifica Base64 a texto. Compatible con UTF-8, admite caracteres más allá de ASCII.

  1. Pega el texto o la cadena Base64 en el cuadro.
  2. Pulsa Codificar para convertir texto a Base64, o Decodificar para convertir Base64 a texto.
  3. Marca "Seguro para URL" si el valor irá en una URL o un JWT — usa - y _ y omite el relleno.
  4. Pulsa Copiar para poner el resultado en el portapapeles.
¿Qué hace?

Base64 codifica bytes arbitrarios como 64 caracteres ASCII imprimibles, para que los transportes no seguros para binarios (cadenas JSON, URL, cuerpos de correo, variables de entorno, autenticación HTTP Basic) puedan llevarlos sin estropearlos. Esta herramienta maneja correctamente la entrada UTF-8 — primero codifica tu cadena en bytes UTF-8 y luego codifica esos bytes en Base64, de modo que los caracteres no-ASCII viajen de ida y vuelta sin errores. La salida es aproximadamente un 33% más grande que la entrada (cada 3 bytes se convierten en 4 caracteres).

Ejemplo

Codificando el texto "Hello, world!":

SGVsbG8sIHdvcmxkIQ==

Codificando el mismo texto con "Seguro para URL" activado (sin relleno):

SGVsbG8sIHdvcmxkIQ

Codificando el texto con emoji "café ☕":

Y2Fmw6kg4piV

¿Por qué mi cadena Base64 no se decodifica?

  • Desajuste entre estándar y seguro para URL. Las cadenas con - o _ son base64url, no Base64 estándar. Activa la casilla "Seguro para URL" para coincidir.
  • Falta de relleno. La longitud de una cadena Base64 estándar debe ser múltiplo de 4. SGVsbG8 falla; SGVsbG8= funciona. Rellena con = hasta que la longitud sea divisible por 4.
  • Espacios o saltos de línea dentro del valor. Algunos sistemas envuelven Base64 cada 76 caracteres con \n. La mayoría de los decodificadores lo toleran, los más estrictos no. Elimina los espacios antes de decodificar.
  • Decodificado por error dos veces. Decodificar U0dWc2JHOA== da SGVsbG8, que a su vez es una cadena Base64. Si la salida vuelve a parecer Base64, decodifícala de nuevo.
  • Datos binarios no UTF-8. Si los bytes decodificados no son UTF-8 válido (por ejemplo, una cabecera PNG), decodificarlos como texto fallará o mostrará basura. Usa una herramienta Base64 compatible con archivos para binarios.
  • Comillas inteligentes o puntos suspensivos visibles. Copiar desde un procesador de textos puede sustituir " por comillas curvas o recortar cadenas largas con puntos suspensivos. Pasa primero por un editor de texto plano.
Preguntas frecuentes

¿Cuál es la diferencia entre Base64 estándar y Base64 seguro para URL?

Base64 estándar (RFC 4648) usa + y /, y rellena con =. Base64 seguro para URL (base64url) reemplaza + por - y / por _, y normalmente omite el relleno para que la cadena sobreviva intacta como ruta o parámetro de URL. Los JWT usan base64url. Activa "Seguro para URL" cuando la salida irá a una URL.

¿Esta herramienta maneja correctamente emojis y texto no-ASCII?

Sí. La entrada se codifica primero en bytes UTF-8 y luego esos bytes se codifican en Base64. La decodificación invierte ambos pasos. Por eso pegar "café" y decodificar el resultado devuelve "café", no mojibake. Muchas herramientas Base64 antiguas asumen Latin-1 y corrompen todo fuera de ASCII.

¿Puedo codificar un archivo binario como una imagen o PDF?

Esta página solo codifica texto. Para codificar un archivo en Base64, usa una herramienta que lea el archivo como binario (o la consola del navegador con FileReader.readAsDataURL). Esta herramienta es para cadenas — el caso habitual es incrustar credenciales, configuración o campos JSON.

¿Por qué mi salida decodificada parece basura?

Normalmente la entrada no era Base64 desde el principio, o se decodificó Base64 seguro para URL como estándar (o viceversa). Prueba a alternar la casilla "Seguro para URL". Otra causa común es decodificar una cadena que en realidad es un binario codificado en Base64, no texto — en ese caso los bytes no son UTF-8 válido.

¿Importa el relleno =?

Base64 estándar rellena la salida para que su longitud sea múltiplo de 4. La mayoría de los decodificadores aceptan entradas sin relleno, pero algunos estrictos las rechazan. Base64 seguro para URL suele omitir el relleno. Si un decodificador se queja, añade = hasta que la longitud sea divisible por 4, o quítalos todos y vuelve a intentarlo.

¿Guardan el texto que codifico o decodifico?

No. No guardamos ningún texto que pegues aquí. Tu entrada se descarta en cuanto cierras o recargas la página — no se guarda nada, y no hay registro de lo que codificaste o decodificaste. Si quieres una capa adicional de confianza, puedes consultar las herramientas de desarrollador de tu navegador.