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: .
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
- Pega el texto o el código Base64 en el campo de entrada.
- Elige la dirección (codificar o decodificar) y el formato: Base64, Base64url o una de las tres codificaciones URL.
- 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
- Parte de una URL (
encodeURIComponent): codifica todo excepto A–Z, a–z, 0–9 y- _ . ! ~ * ' ( ), incluidos/ ? & = #. Es lo correcto para valores sueltos, como un término de búsqueda en?q=…. - URL completa (
encodeURI): conserva los caracteres con significado especial (: / ? # & = +…) y solo codifica espacios, letras con tilde y similares. Para un enlace completo que debe seguir funcionando. - Datos de formulario (
application/x-www-form-urlencoded): así envían sus datos los formularios HTML. Los espacios se convierten en+y también se codifican! ' ( ) ~. Al decodificar,+vuelve a ser un espacio.
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
- RFC 4648: RFC 4648 – The Base16, Base32, and Base64 Data Encodings (§ 4 Base64, § 5 Base64url, § 3.2 Padding)
- RFC 3986: RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (§ 2.1 Percent-Encoding, § 2.2 Reserved Characters)
- WHATWG URL Standard – application/x-www-form-urlencoded
- MDN Web Docs – encodeURIComponent()
- MDN Web Docs – encodeURI()
- MDN Web Docs – Base64 (Unicode problem, TextEncoder)
Última actualización: · Principios editoriales
Herramientas relacionadas
- Generador de hash: SHA-256, SHA-512, SHA-1, MD5Calcula hashes SHA-256, SHA-384, SHA-512, SHA-1 y MD5 de textos o archivos y verifica sumas de comprobación, en tu navegador, sin subir nada y gratis.
- Probar regex: tester de expresiones regularesPrueba expresiones regulares de JavaScript en vivo: coincidencias resaltadas, grupos de captura en tabla y el patrón explicado. Gratis, sin subir nada.
- JSON escape / unescapeJSON escape y unescape online: convierte un texto en una cadena JSON válida con comillas, barras invertidas y saltos de línea escapados, o al revés.
- Formateador, validador y minificador de JSONValida JSON según la RFC 8259 con línea, columna y explicación clara del error. Formatea o minifica, ordena claves y copia. Funciona en tu navegador.
- Generador de UUID: crea y valida UUID v4 y v7Genera UUID en línea: versión 4 (aleatoria) o versión 7 (ordenada por tiempo), hasta 1000 a la vez. Valida un UUID y lee su versión, variante y fecha.
- Generador de contraseñasGenera contraseñas aleatorias seguras y frases de contraseña memorables con entropía en bits, directamente en tu navegador: nada se envía ni se guarda.
- Cuál es mi dirección IPMuestra al instante tu dirección IP pública, detecta si es IPv4 o IPv6 y explica la diferencia. Gratis: tu IP no se guarda.
- Generador de tablas MarkdownGenerador de tablas Markdown: pega datos de Excel, Google Sheets o CSV y copia una tabla Markdown, HTML o LaTeX alineada, todo en local en tu navegador.
- Convertir CSV a SQLConvertir CSV a SQL: genera CREATE TABLE e INSERT para MySQL, PostgreSQL, SQLite o SQL Server. Tipos detectados, en el navegador, sin subir nada.