Codificar y decodificar Base64

Para codificar y decodificar Base64, pega tu texto, elige dirección y formato y copia el resultado: esta herramienta convierte texto a Base64 o Base64url y viceversa (tildes, ñ y emojis se tratan correctamente como UTF-8) y hace la codificación URL con signos de porcentaje en sus tres variantes habituales. Si la entrada no es válida, te indica la posición del error.

Fuente: RFC 4648, RFC 4648 – The Base16, Base32, and Base64 Data Encodings (§ 4 Base64, § 5 Base64url, § 3.2 Padding). Actualizado: .

Para decodificar, pega el texto en Base64 o con codificación por porcentaje. Los saltos de línea en Base64 se ignoran.

Tu texto se queda en tu navegador: no se envía, no se guarda y no aparece en la dirección de la página.

Resultado

Resultado
wqFTYWx1ZG9zIGRlc2RlIEPDoWRpeiB5IEJvZ290w6EhIPCfkYs=
Tamaño
32 caracteres = 38 bytes UTF-8 → 52 caracteres

Cómo se calcula

Base64 representa bytes cualesquiera con solo 64 caracteres imprimibles (A–Z, a–z, 0–9, + y /). Cada 3 bytes se convierten en 4 caracteres; si al final sobran bytes, uno o dos signos igual completan el hueco (el relleno o padding). El resultado es aproximadamente un tercio más largo que el original. Así, los datos binarios pueden viajar por canales que solo aceptan texto: adjuntos de correo, URL de datos (data:image/png;base64,…), autenticación HTTP Basic o JSON.

Cómo codificar y decodificar Base64

  1. Pega el texto o el código Base64 en el campo de entrada.
  2. Elige la dirección (codificar o decodificar) y el formato: Base64, Base64url o una de las tres codificaciones URL.
  3. Marca o desmarca «Añadir relleno (=)» según necesites y copia el resultado.

Base64 no es cifrado. Cualquiera puede recuperar el original sin clave. Nunca confíes en Base64 para proteger credenciales.

Base64 frente a Base64url

El signo más y la barra tienen un significado especial en las URL y en los nombres de archivo. Por eso Base64url (RFC 4648 § 5) los sustituye por el guion y el guion bajo, y normalmente omite el relleno; así se codifican los JSON Web Tokens (JWT). Ejemplo: los bytes FB FF se convierten en +/8= en Base64 y en -_8 en Base64url.

Por qué importa UTF-8

Base64 codifica bytes, no letras. Por eso la herramienta convierte primero tu texto a UTF-8: la «ñ» ocupa dos bytes y un emoji, cuatro. La función btoa() integrada en el navegador no sabe hacerlo y da error con caracteres que no son Latin-1. Si los bytes decodificados no forman texto UTF-8 válido, la herramienta los muestra como valores hexadecimales.

Codificación URL: tres variantes

Cada carácter fuera del conjunto permitido se escribe como % seguido de dos dígitos hexadecimales por cada byte UTF-8 (RFC 3986 § 2.1): espacio = %20, é = %C3%A9.

Todas las conversiones se hacen en tu navegador. Tu entrada no se envía, no se guarda y no se escribe en la barra de direcciones.

Más herramientas para desarrolladores: calcula sumas de verificación con el generador de hash SHA-256 y MD5, revisa JSON con el formateador y validador JSON y crea identificadores únicos con el generador de UUID.

Preguntas frecuentes

¿Cómo decodifico Base64?

Elige «Decodificar» y el formato «Base64» y pega el código: el texto plano aparece al instante. Si el código contiene - y _, es Base64url; en ese caso elige ese formato.

¿Base64 es un cifrado?

No. Base64 es solo otra forma de escribir los mismos datos y se puede revertir sin clave. Para proteger datos necesitas un cifrado real y, para contraseñas, un hash de contraseñas.

¿Por qué Base64 termina a menudo en = o ==?

Base64 trabaja en grupos de 3 bytes. Si al final sobran 1 o 2 bytes, la salida se rellena con == o = para que su longitud sea múltiplo de 4. Base64url suele omitir ese relleno.

¿Qué diferencia hay entre encodeURI y encodeURIComponent?

encodeURI está pensado para direcciones completas y no toca / ? & = #. encodeURIComponent también los codifica y es la opción correcta para valores de parámetros sueltos; si no, un & dentro del valor partiría la URL.

¿Por qué un espacio a veces es %20 y a veces +?

En las rutas y según RFC 3986, un espacio se escribe %20. Los formularios HTML (application/x-www-form-urlencoded) lo escriben como +. Al decodificar tienes que saber qué variante tienes; allí un signo más real se escribe %2B.

¿Cuánto aumenta el tamaño de un archivo en Base64?

Unos 4/3 del tamaño original: 3 bytes se convierten en 4 caracteres. Una imagen de 300 KB ocupa unos 400 KB en Base64, algo más con los saltos de línea MIME.

Fuentes y base legal

Última actualización: · Principios editoriales

Herramientas relacionadas