Codificador Brainfuck
Escriba «Hi» y obtendrá un programa Brainfuck de 107 caracteres listo para ejecutar, hecho solo de signos más y puntos de impresión. También funciona al revés: ejecuta Brainfuck, muestra lo que imprime y avisa de los corchetes sin pareja. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hi
- Modo de cálculo
- Encode
- Codificación
- brainfuck
- Longitud de entrada
- 2
- Longitud de salida
- 107
Este codificador de texto a Brainfuck convierte texto plano en un programa Brainfuck funcional que imprime ese texto, y ejecuta código Brainfuck en el otro sentido para que usted vea qué imprime un programa. El modo encode recorre cada byte Latin-1, ajusta una única celda de cinta con la secuencia más corta de más o menos en el anillo circular 0–255 y emite un punto tras cada carácter para que el programa sea ejecutable de inmediato. El modo decode es un intérprete clásico de ocho comandos sobre una cinta acotada: valida el emparejamiento de corchetes antes de ejecutar, ignora caracteres que no son comandos como hace Brainfuck tradicional y falla con claridad ante corchetes sin pareja, límites de pasos o desbordamiento del puntero.
Qué es Brainfuck y qué devuelve esta herramienta
Brainfuck es un lenguaje esotérico mínimo con ocho comandos que mueven un puntero de datos, incrementan o decrementan la celda actual, leen o escriben un byte y saltan en cero o distinto de cero para bucles. Pese al nombre jocoso, es un modelo completo de cómputo que docentes, autores de puzzles y aficionados a esolangs siguen usando para explicar máquinas de cinta, aritmética modular y la diferencia entre validación sintáctica y límites en tiempo de ejecución.
Esta página se centra en dos tareas prácticas que la gente busca de verdad: generar un programa Brainfuck que imprima una cadena dada, y ejecutar código Brainfuck para recuperar la salida impresa. El modo decode acepta cualquier cadena de comandos Brainfuck mezclada con comentarios, porque los caracteres no comando se ignoran por convención, pero rechaza programas cuyos corchetes no aniden correctamente.
Qué puede hacer con ella
Demos de aula y esolang
Muestre cómo una máquina de cinta imprime una cadena generando un programa Brainfuck corto y ejecutándolo en vivo sin instalar un intérprete local.
Preguntas frecuentes
¿Cuánto cuesta el codificador de texto a Brainfuck?
Es gratis en su navegador en esta página.
¿Qué caracteres puede codificar?
Bytes Latin-1 con code points 0–255. El texto vacío produce un programa vacío.
¿Qué hace inválido un programa Brainfuck?
Un '[' o ']' sin pareja, mover el puntero más allá de cualquiera de los extremos de la cinta de 30,000 celdas, superar los límites de pasos o de salida, o enviar un campo de programa que no sea cadena. Los caracteres que no son comandos se ignoran, no se rechazan.
¿Cómo sé qué imprime un programa Brainfuck?
Elija la opción de decodificar y pegue el programa. Se ejecuta en una cinta limitada y le muestra lo que imprime; las letras y demás caracteres que no son órdenes se ignoran, así que puede dejar comentarios.
¿Puede un programa Brainfuck leer una entrada?
Sí. Puede indicar una entrada opcional para la orden coma, que lee un byte cada vez. Cuando esa entrada se agota, cada coma adicional guarda un cero en la celda actual.
Herramientas relacionadas
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/enc/brainfuck-encode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi"}'const res = await fetch("https://api.kit.forhosting.com/enc/brainfuck-encode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hi"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/brainfuck-encode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hi"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/brainfuck-encode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hi"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hi"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/brainfuck-encode", 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": "Hi"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.brainfuck_encode",
"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.
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. |
Notas técnicas
El motor nunca llama a una red, nunca usa aleatoriedad y nunca depende del reloj del calendario, de modo que el mismo texto y modo producen siempre el mismo resultado en el navegador y a través de la API. Comprobaciones típicas incluyen codificar Hi en un programa corto de más y puntos, ejecutar ese programa de vuelta a Hi y rechazar un corchete abierto suelto con invalid_input.
Qué es Brainfuck y qué devuelve esta herramienta
El modo encode admite bytes Latin-1 de cero a doscientos cincuenta y cinco de forma que cada carácter se mapea a una escritura de celda y una impresión; los code points por encima de ese rango se rechazan con un mensaje invalid_input claro en lugar de mojibake silencioso. La respuesta JSON siempre incluye result para el programa generado o la salida en tiempo de ejecución, mode que repite encode o decode, encoding fijo a brainfuck, e input_length más output_length para que las pruebas automatizadas puedan afirmar tamaños sin reparsear el payload. El campo opcional program_input suministra bytes al comando coma durante decode; cuando se agota stdin, la coma almacena cero. No hay reparación silenciosa de corchetes mal formados ni ejecución ilimitada: los topes de pasos, cinta y salida protegen el Worker y mantienen los programas cortos exitosos rápidos y gratis en el navegador.
Cómo se leen text y mode y cómo los resultados se reproducen
Encode rechaza texto ausente, valores que no son cadena, cadenas más largas que el tope documentado y cualquier carácter cuyo code point supere doscientos cincuenta y cinco, indicando el índice del carácter erróneo para que usted pueda corregirlo. Decode rechaza fuente ausente, programas sobredimensionados, corchetes de cierre sin pareja, corchetes de apertura sin pareja, movimientos del puntero más allá de cualquiera de los extremos de la cinta de treinta mil celdas, salidas que superan el tope de salida y ejecuciones que exceden el presupuesto de pasos, lo que captura los bucles infinitos clásicos que de otro modo colgarían una página gratis. El campo preferido del payload es text, con alias input, value, s, program y message para que formularios, query strings y clientes SDK reutilicen el mismo contrato sin renombrar columnas. Mode por defecto es encode y acepta decode de forma explícita; los alias op, direction y action mapean al mismo conmutador, y run o execute se tratan como decode para scripts que ven la segunda dirección como ejecución y no como descifrado. Como cada rama es ensamblaje puro de cadenas o un bucle de intérprete fijo, dos clientes con el mismo text, mode y program_input opcional reciben resultados idénticos byte a byte entre versiones del Worker mientras la regla de generación y los límites se mantengan fijos. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite el resultado matemático idéntico dentro de un pipeline automatizado sin reimplementar un generador Brainfuck usted mismo.
Dónde encajan el codificador y el ejecutor Brainfuck en aprendizaje, puzzles y pruebas
Los estudiantes conocen Brainfuck cuando un curso presenta conjuntos mínimos de instrucciones, cuando un club organiza una noche de esolang o cuando un trabajo pide imprimir Hello World sin un lenguaje convencional. Diseñadores de puzzles y autores de CTF necesitan un codificador determinista para que la misma bandera o pista se convierta siempre en el mismo programa, y un ejecutor para que jugadores y verificadores comprueben la salida sin empaquetar un intérprete aparte. Combínelo con otros ayudantes de codificación de texto cuando construya un pequeño laboratorio de utilidades deterministas gratis para educación, retos de seguridad y pruebas de humo de operaciones que no deban depender de una llamada de red ni de un modelo. En esta página el trabajo se ejecuta por completo en su navegador; a través de la API cada consulta exitosa cuesta $0.002, la validación fallida no se cobra y no se almacena nada tras devolver la respuesta. Esa división — exploración interactiva gratis y una API de pago idéntica — encaja con el resto del catálogo KIT de nivel A y le permite pasar de una demo en pizarra a un pipeline automatizado sin cambiar el resultado codificado.
Casos de integración
Fixtures de CTF y puzzles
Codifique pistas deterministas y verifique programas Brainfuck enviados por jugadores frente a la salida impresa esperada en comprobadores automáticos.
Pares golden en CI
Afirme resultados de encode y run en integración continua para que generadores y ejemplos de documentación no deriven en silencio.
Preguntas técnicas
¿Qué modos se admiten?
mode=encode (predeterminado) convierte texto plano en un programa Brainfuck que lo imprime. mode=decode ejecuta código Brainfuck y devuelve la salida impresa. Los alias run y execute también significan decode.
¿El resultado es determinista?
Sí. El mismo text, mode y program_input opcional producen siempre el mismo resultado, sin red, aleatoriedad ni comportamiento dependiente de la fecha.