Codificador y Decodificador Base64
Codifica cualquier texto a Base64 o decodifícalo al instante en tu navegador — herramienta gratis para desarrolladores.
Tu texto se queda en tu equipo
Nada que borrar después
Hecho para decodificar credenciales
Funciona en todo navegador moderno
Cómo funciona
- 1
Pega tu texto
Texto plano para codificar, o una cadena Base64 para decodificar.
- 2
Elige el sentido y el alfabeto
Codificar o decodificar, estándar o seguro para URL, según adónde vaya el resultado.
- 3
Copia el resultado
Llévalo a una cabecera, un data URI, un valor de configuración o una petición.
Por qué usar esta herramienta
Los dos alfabetos
Base64 estándar y la variante segura para URL, para que un token que debe sobrevivir a una cadena de consulta lo haga.
Relleno resuelto en ambos sentidos
La entrada con o sin `=` final se decodifica, y tú eliges qué lleva la salida.
UTF-8 hecho como es debido
Árabe, turco y emoji van y vuelven intactos en vez de decodificarse en caracteres de reemplazo.
Instantáneo en ambas direcciones
Codificar y decodificar en el mismo sitio, sin cambiar de herramienta a mitad de una sesión de depuración.
No se sube nada
La conversión ocurre en tu navegador: un token que pegues nunca llega a un servidor.
Gratis y sin cuenta
Sin registro, sin marca de agua y sin límite de cuánto conviertas.
Base64 no es cifrado, y tratarlo como tal es una vulnerabilidad real
Esto es lo más importante que entender sobre el formato, y se malinterpreta constantemente. Base64 no tiene clave, ni secreto, ni propiedad de seguridad alguna. Es una correspondencia pública y reversible que cualquiera puede deshacer en un paso, que es exactamente lo que hace esta página. Y sin embargo Base64 aparece con regularidad como sustituto de la protección: contraseñas guardadas codificadas en Base64 en una base de datos, claves de API «ofuscadas» en un archivo de configuración, datos personales codificados en una cookie para que «no parezca nada». Nada de eso está oculto. Simplemente está escrito con otro alfabeto, y cualquier persona o escáner que lo encuentre lo lee al instante. Si el objetivo es que alguien no pueda leer un valor, hace falta cifrado o hash, y Base64 no es ninguno de los dos.
Para lo que sirve de verdad: pasar bytes por canales de solo texto
Base64 resuelve un problema concreto y poco lucido. Muchos sistemas solo aceptan texto imprimible: cuerpos de correo, campos de cadena en JSON, cabeceras HTTP, documentos XML, URLs. Dale a cualquiera de ellos binario en crudo —una imagen, un archivo comprimido, una clave de cifrado— y algo del camino lo destrozará, porque los bytes que casualmente parecen caracteres de control o finales de línea se reescriben en tránsito. Base64 esquiva esto reexpresando bytes arbitrarios con 64 caracteres que todos los sistemas acuerdan dejar en paz. Por eso un adjunto de correo va en Base64 dentro del mensaje, por eso una imagen incrustada en CSS es un `data:` URI, y por eso un certificado binario se entrega como bloque PEM. El formato es una envoltura de transporte, no un formato de almacenamiento ni una medida de seguridad.
Te cuesta un tercio más de bytes, y a veces eso importa
La aritmética es fija: cada tres bytes de entrada se convierten en cuatro caracteres de salida, así que el dato codificado es un 33 por ciento más grande que lo que entró, antes del relleno. Casi siempre da igual. Deja de dar igual cuando la gente incrusta imágenes como `data:` URIs en CSS o HTML para ahorrar una petición HTTP. Una imagen de 90 KB pasa a ser 120 KB de caracteres, y a diferencia de un archivo de imagen real no se puede cachear por separado, no se puede cargar de forma diferida y bloquea la hoja de estilos que la contiene. Para un icono pequeño es un trato justo. Para una fotografía suele ser un error que aparece después como un primer pintado lento. Si estás codificando algo para incrustarlo, comprueba qué hace el tamaño antes de comprometerte.
El alfabeto seguro para URL existe porque tres caracteres rompen las URLs
Base64 estándar usa `+`, `/` y `=`, y los tres significan otra cosa en una URL. El signo más se lee como espacio en las cadenas de consulta, la barra es un separador de ruta y el igual separa un parámetro de su valor. Manda un token codificado en estándar por una URL y llega corrupto, a menudo de una forma que solo aparece con algunas entradas, y por eso «funciona en mi cliente de API pero se rompe en el navegador» es un informe tan habitual. La variante segura para URL lo arregla sustituyendo `-` por `+` y `_` por `/`, y normalmente quitando el relleno por completo. Los JWT la usan, y también la mayoría de los formatos modernos de token. Los dos alfabetos no son intercambiables: decodificar una cadena segura para URL con un decodificador estándar estricto falla, así que haz coincidir la variante con el sitio por el que viajó el valor.
Qué hacen los signos de igual del final
El relleno es la parte que todo el mundo nota y de la que nadie está seguro. Como la codificación trabaja en grupos de tres bytes, una entrada cuya longitud no sea múltiplo de tres deja un grupo parcial, y los `=` rellenan la salida hasta un múltiplo de cuatro. Un signo igual significa que la entrada terminó con dos bytes sobrantes; dos significan que terminó con uno. Eso es todo lo que llevan: son una pista de longitud, no datos. En la práctica los decodificadores no se ponen de acuerdo sobre si son obligatorios: algunos rechazan de plano la entrada sin relleno, otros la aceptan, y la convención segura para URL suele omitirlo porque `=` es incómodo en una URL. Si un valor falla al decodificarse en otro sitio y aquí se ve bien, revisa las expectativas de relleno antes que nada más exótico.
Por qué decodificar en local importa aquí más que casi en ningún otro sitio
Mira lo que la gente pega de verdad en un decodificador Base64. Es una cabecera `Authorization: Basic`, que contiene un usuario y una contraseña separados por dos puntos. Es la mitad de carga de un JWT, que lleva un identificador de usuario y muchas veces un correo. Es una cadena de conexión, una clave de API, una cookie de sesión, un certificado. El motivo entero de que alguien recurra a un decodificador es que tiene en la mano un valor que no puede leer, y los valores que no puedes leer son abrumadoramente credenciales. Pegar eso en un decodificador alojado entrega un secreto en funcionamiento a un tercero, por un canal que no deja rastro. Esta herramienta convierte dentro de la página y no transmite nada, y puedes comprobarlo en la pestaña Red de las herramientas de desarrollo: para este formato en concreto, eso no es un lujo.
Errores comunes que conviene evitar
- Usar Base64 para esconder algo. No hay clave ni secreto: cualquiera lo decodifica en un paso; si un valor no debe ser legible, necesita cifrado o hash, no un alfabeto distinto.
- Mandar un valor codificado en estándar por una URL. Los caracteres `+`, `/` y `=` significan otra cosa allí; usa el alfabeto seguro para URL o el valor llegará corrupto con unas entradas y con otras no.
- Incrustar una imagen grande como `data:` URI. La codificación añade cerca de un tercio al tamaño, y el resultado no se puede cachear por separado ni cargar de forma diferida: bien para un icono, caro para una fotografía.
- Suponer que el relleno es opcional en todas partes. Algunos decodificadores exigen los `=` finales y otros los rechazan; si un valor se decodifica aquí y falla en otro lado, revisa el relleno antes de buscar causas exóticas.
- Pegar una cabecera Authorization o un JWT en un decodificador alojado. Esos valores son credenciales vivas, y el pegado no deja rastro de que las enviaste; decodifica en local.
Comparativa
| Aspecto | Esta herramienta | Decodificadores online | Una línea de comandos |
|---|---|---|---|
| Contenido enviado a un servidor | Nunca | Normalmente sí | No |
| Alfabeto seguro para URL | Sí | Varía | Requiere una opción |
| UTF-8 tratado bien | Sí | Varía | Sí |
| Requiere configuración | Ninguna | Ninguna | Una terminal |
| Cuenta o registro | No hace falta | A menudo exigido | No hace falta |
| Precio | Gratis | Gratis / planes de pago | Gratis |
Características
Codificar y decodificar
Los dos sentidos en un solo sitio, con entrada y salida una al lado de la otra.
Variante segura para URL
El alfabeto con `-` y `_` que usan los JWT y todo lo que viaja en una URL.
Relleno opcional
Emite o quita los `=` finales para encajar con lo que espera el sistema receptor.
Soporte Unicode completo
El texto se codifica primero como UTF-8, así que las escrituras no latinas sobreviven al viaje.
Aguanta entradas grandes
Cadenas largas se convierten sin subida ni tope de tamaño.
Entrada inválida señalada
Una cadena que no es Base64 válido lo dice, en vez de devolver un sinsentido callado.
Nada que instalar
Sin línea de comandos, sin entorno de ejecución, sin dependencias: funciona en la página web.
Listo para árabe y RTL
Interfaz completa en ocho idiomas, incluido el árabe de derecha a izquierda.
Seguro por defecto
Servido por HTTPS, sin rastreo de contenido ni subida a terceros.
Quién la usa
Desarrolladores
Leer una cabecera de autenticación o la carga de un token mientras se depura, sin entregarla a un tercero.
Ingenieros de seguridad
Inspeccionar un valor codificado hallado en un log, una cookie o un archivo de configuración.
Integradores de API
Construir o comprobar una cabecera de autenticación básica antes de enviar una petición con ella.
Desarrolladores front-end
Producir un `data:` URI para un recurso pequeño incrustado y ver lo que cuesta en tamaño.
Preguntas Frecuentes
No. Todo se ejecuta localmente en tu navegador — tu texto nunca se sube, guarda ni comparte.
Sí — totalmente gratis, sin cuenta y sin límites.