Codificar y decodificar texto Base64
Convierta texto a Base64 y recupérelo sin preguntarse qué alfabeto, relleno o regla de validación eligió silenciosamente otra herramienta.
Ejecutar — gratis
Este conversor determinista procesa Unicode como UTF-8, admite Base64 RFC 4648 estándar y su variante URL-safe, y rechaza entradas mal formadas en vez de devolver texto dañado. Úselo en el navegador o llame a la API cuando su aplicación necesite conversiones repetibles. Cada respuesta correcta contiene una sola cadena de resultado, fácil de copiar, guardar, comparar o pasar al siguiente paso de su proceso.
Codifique texto UTF-8 en una representación Base64 portátil
Elija el modo de codificación cuando disponga de texto normal y necesite una representación ASCII para un campo de texto, una configuración, un documento JSON o un límite de integración. El conversor representa primero la cadena como bytes UTF-8; así, letras acentuadas, emoji, escrituras no latinas, saltos de línea y signos se procesan de forma coherente. Después agrupa los bytes conforme a RFC 4648. La variante estándar emplea letras, dígitos, signo más y barra, con relleno canónico mediante signos igual. Con URL-safe, esos dos símbolos se sustituyen por guion y guion bajo, y se omite el relleno. Base64 es codificación, no cifrado: cualquier persona que vea el valor puede invertirlo. El objeto devuelto contiene únicamente la cadena de resultado para mantener sencillo y determinista el procesamiento automatizado.
Decodifique con rigor y no acepte datos dañados
Elija el modo de decodificación cuando el texto ya esté en Base64 y quiera recuperar su contenido UTF-8. La variante seleccionada forma parte de la validación: el modo estándar acepta más y barra, mientras URL-safe acepta guion y guion bajo. Los caracteres del otro alfabeto no se corrigen silenciosamente. También se comprueba que el relleno aparezca solo al final, que tenga como máximo dos signos, que concuerde con la longitud y que esta pueda representar bytes completos. Se verifican los bits finales sin usar y se rechazan espacios. Por último, los bytes deben constituir UTF-8 válido. Un archivo binario puede ser Base64 válido pero no texto; en tal caso se devuelve un error de entrada en lugar de caracteres de sustitución. Estas comprobaciones hacen visible el fallo donde resulta más fácil diagnosticarlo.
Elija Base64 estándar o URL-safe según el sistema receptor
La variante correcta depende del sistema que consumirá el valor. Base64 estándar es habitual en campos documentales codificados y especificaciones que muestran más, barra e igual. URL-safe sirve para contextos donde esos símbolos tienen significado especial, como URL, nombres de archivo, cookies o componentes de tokens. La opción url_safe afecta tanto a la codificación como a la decodificación y debe reflejar el alfabeto esperado por la otra parte. Al decodificar URL-safe se acepta relleno correcto u omitido si la longitud lo permite; al codificar se omite para obtener la forma compacta. En procesos fiables, guarde la variante junto con los datos o defínala en el protocolo. La herramienta del navegador sirve para revisiones puntuales y la API cuesta $0.002 por solicitud automatizada. Ambas rutas usan la misma lógica pura y producen el mismo resultado.
Qué puede hacer con ella
Prepare texto para una integración JSON
Codifique texto Unicode en el campo ASCII Base64 exigido por un esquema externo.
Revise un valor de configuración codificado
Decodifique Base64 con validación estricta para que una entrada defectuosa falle claramente.
Cree componentes de token aptos para URL
Convierta texto UTF-8 con el alfabeto de guion y guion bajo y sin relleno.
Preguntas frecuentes
¿Cuánto cuesta una solicitud?
El precio de la API es $0.002 por solicitud y la versión del navegador puede usarse gratis de forma interactiva.
¿Base64 es cifrado?
No. Base64 solo representa bytes mediante caracteres imprimibles y no aporta confidencialidad ni autenticación.
¿Cómo se trata Unicode?
El texto se convierte a bytes UTF-8 antes de codificarlo y los bytes decodificados deben ser UTF-8 válido.
¿Qué cambia al activar URL-safe?
La codificación usa guion y guion bajo en vez de más y barra, y omite el relleno; la decodificación valida ese mismo alfabeto.
¿Qué entradas se rechazan al decodificar?
Se rechazan caracteres no válidos, espacios, longitudes imposibles, relleno incorrecto, bits finales distintos de cero y bytes que no formen UTF-8 válido.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/data/mime-base64-encode-decode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!","mode":"encode"}'const res = await fetch("https://api.kit.forhosting.com/data/mime-base64-encode-decode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!",
"mode": "encode"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/mime-base64-encode-decode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!",
"mode": "encode"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/mime-base64-encode-decode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!","mode":"encode"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!","mode":"encode"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/mime-base64-encode-decode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Hello, world!",
"mode": "encode"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.mime_base64_encode_decode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |