Codificación

Base64

Codificación y decodificación Base64 — texto y archivos, directamente en el navegador.

Base64 is a binary-to-text encoding that represents arbitrary bytes using 64 printable ASCII characters (A–Z, a–z, 0–9, plus + and /). It exists so binary data — images, archives, cryptographic keys — can pass unchanged through channels that were designed for text only.

This tool encodes and decodes both plain text and files. Everything runs client-side in your browser: the input never leaves your machine, which makes it safe for tokens, private keys, and other sensitive data.

How to use it

Common uses

Things to keep in mind

Base64 is not encryption — anyone can decode it. It only changes the representation of data, not its confidentiality.

Encoded output is about 33% larger than the input because every 3 bytes become 4 characters.

For URLs and file names use Base64URL, which swaps + and / for - and _ and often drops the = padding.

Artículo sobre esta herramienta: Base64: para qué sirve la codificación y cómo funciona

Preguntas frecuentes

¿Qué es exactamente Base64?

Base64 es una codificación que convierte datos binarios (o texto) en una cadena de solo 64 caracteres imprimibles (A-Z, a-z, 0-9, + y /), pensada para transportar datos por canales que solo aceptan texto, como JSON, XML o cabeceras de correo.

¿Se sube mi archivo o texto a algún servidor?

No, todo el proceso de codificación y decodificación ocurre en tu propio navegador mediante JavaScript. Ni el texto ni el archivo se envían a ningún servidor.

¿Por qué el resultado en Base64 ocupa más que el original?

Porque cada 3 bytes de entrada se representan con 4 caracteres de salida, lo que añade aproximadamente un 33% de tamaño extra respecto al original.

¿En qué se diferencia Base64 estándar de Base64URL?

En Base64URL los caracteres + y / se sustituyen por - y _, para que la cadena se pueda insertar de forma segura en una URL o en un nombre de archivo sin necesitar percent-encoding adicional. Es la variante que usa JWT.

¿Qué significa el carácter = al final de la cadena?

Es el carácter de relleno (padding) e indica cuántos bytes faltan en el último bloque de 3 bytes. No siempre es obligatorio: algunos sistemas lo descartan de forma deliberada.

Artículos: Codificación

Base32: en qué se diferencia de Base64 y cuándo es más práctico

El alfabeto de Base32, que no distingue mayúsculas, y los casos donde resulta más práctico que Base64.

URL Encode/Decode: el percent-encoding en los enlaces

Cómo los caracteres especiales en direcciones y parámetros se convierten en secuencias %XX.

HTML Entities: cómo mostrar caracteres especiales de forma segura

Por qué hay que escapar los caracteres < > & y cómo esto evita que el marcado se rompa.

JWT: la estructura del token y qué significa "decodificar" un JWT

El header, el payload y la signature de un token JWT, y por qué decodificar no es lo mismo que verificar la firma.

Unicode Escape: qué significan las secuencias \uXXXX

De dónde salen las secuencias tipo \u0041 en JSON y cadenas JS, y qué significan.

ROT13 y el cifrado César: sustitución simple de caracteres

Por qué un desplazamiento de 13 letras hace que ROT13 sea su propio inverso, y por qué se sigue usando hoy.

Punycode: cómo funcionan los dominios internacionalizados en el DNS

Cómo un dominio con caracteres no latinos se convierte en una representación ASCII con el prefijo xn--.

Código Morse: cómo el texto se convierte en puntos y rayas

El principio de codificar letras con puntos y rayas, y dónde se usa el código Morse hoy en día.

Data URI: cuándo incrustar imágenes directamente en el código

Cómo un Data URI incrusta el contenido de un archivo directamente en HTML o CSS, y cuándo vale la pena.

Gzip + Base64: comprimir datos para transmitirlos como texto

Por qué los datos binarios comprimidos también se codifican en Base64 antes de meterlos en un campo de texto.

XML Entities: escapar caracteres en documentos XML

Las cinco entidades XML obligatorias sin las cuales el documento se rompe al analizarlo.