utilstuff.com
Volver a Herramientas Dev
Herramientas para Desarrolladores
Tus datos permanecen en tu navegador.

Codificador / Decodificador Base64

Codifica texto a Base64 o decodifica Base64 a texto.

¿Qué es Base64?

Base64 escribe cualquier secuencia de bytes con 64 caracteres seguros —A–Z, a–z, 0–9, + y /— más = como relleno, para que los datos binarios puedan viajar por lugares que solo aceptan texto, como campos JSON, correo electrónico, cabeceras HTTP y URLs data:. Cada 3 bytes se convierten en 4 caracteres, por lo que la forma codificada ocupa aproximadamente un tercio más que el original. Esta herramienta convierte entre Base64 y texto UTF-8 o bytes escritos en hexadecimal.

Cómo usar el codificador / decodificador Base64

  1. Elige un modo: Texto → Base64 y Base64 → Texto trabajan con texto UTF-8 legible; Hex → Base64 y Base64 → Hex trabajan con bytes en bruto escritos en hexadecimal, como claves, hashes o bytes de archivos e imágenes.
  2. Pega tu entrada, ejecuta la conversión y copia el resultado. Tras una conversión correcta, al cambiar de modo el resultado pasa a la entrada, para que puedas convertirlo de vuelta o al otro formato.
  3. Si Base64 → Texto rechaza una entrada que sabes que es Base64 estándar, lo más probable es que los bytes decodificados sean binarios y no texto: usa Base64 → Hex para verlos.

Notas técnicas

  • Texto → Base64 codifica tu texto como UTF-8 antes de convertirlo. Base64 → Texto decodifica los bytes como UTF-8 y solo funciona cuando forman UTF-8 válido; un texto guardado originalmente en otra codificación, como Latin-1 o UTF-16, puede rechazarse o aparecer con caracteres erróneos.
  • El decodificador acepta solo Base64 estándar: los caracteres + y /, con relleno = para que la longitud sea múltiplo de 4. Los espacios y saltos de línea se ignoran, así que puedes pegar Base64 dividido en líneas tal cual. No se acepta Base64 seguro para URL (Base64url, que usa - y _), la entrada sin relleno ni los prefijos data:; los segmentos de un JWT, por ejemplo, son Base64url sin relleno y no se pueden pegar directamente. La codificación siempre produce Base64 estándar con relleno en una sola línea.
  • Base64 puede contener bytes arbitrarios, no solo texto. Cuando los bytes decodificados son binarios —una clave, un hash, parte de un archivo o una imagen—, Base64 → Texto suele mostrar un error aunque el Base64 sea correcto; Base64 → Hex muestra esos bytes en hexadecimal en minúsculas, dos dígitos por byte y sin separadores.
  • La entrada hexadecimal debe estar formada por pares de dígitos hexadecimales (0–9 y a–f, en mayúsculas o minúsculas), por lo que el número de dígitos debe ser par. Se permiten espacios y saltos de línea entre los dígitos, pero no el prefijo 0x ni los separadores de dos puntos (como en 48:65).
Importante: Base64 es un esquema de codificación, NO un cifrado. No proporciona confidencialidad ni seguridad.

Preguntas Frecuentes

¿Para qué se utiliza Base64?+

Algunos usos habituales son incrustar imágenes o fuentes pequeñas en HTML y CSS como URLs data:, los adjuntos de correo (MIME), valores binarios como claves, certificados o firmas dentro de JSON, XML o cabeceras HTTP, y el par usuario:contraseña de la autenticación HTTP Basic. Para decodificar aquí una URL data:, pega solo la parte que va después de la coma.

¿Por qué no se decodifica mi Base64?+

Las causas habituales son Base64 seguro para URL que usa - y _ en lugar de + y /, falta del relleno = (la longitud debe ser múltiplo de 4), un prefijo data: delante de los datos o —en Base64 → Texto— bytes decodificados que son binarios y no texto UTF-8. Para una entrada segura para URL o sin relleno, sustituye - por + y _ por /, y añade = hasta que la longitud sea múltiplo de 4; para datos binarios, usa Base64 → Hex.

¿Esta herramienta soporta Unicode y emojis?+

Sí. El texto se convierte a UTF-8 antes de codificarlo, así que las letras acentuadas y los emojis se transforman en sus secuencias UTF-8 de varios bytes —é ocupa 2 bytes y la mayoría de los emojis 4— y la decodificación lo invierte. Una herramienta que codifique el texto como UTF-16 o Latin-1 producirá un Base64 distinto para los mismos caracteres.

¿Mis datos se envían a algún servidor?+

No. Todo el proceso ocurre 100% localmente dentro de tu navegador web. Ningún dato se transmite a través de la red.