Convertir texto a leetspeak
Pase su texto a 1337 y decida cuánto cambia: en intensidad media, 16 de las 31 letras convertibles de la frase de ejemplo se vuelven cifras; la ligera toca una de cada tres y la extrema todas. Mismo texto, mismo resultado. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Leetspeak replaces letters with look-alike digits.
- Intensidad
- Mediano
- Producción
- 1e3t5pe4k rep1ac3s 1e7t3rs w1th 1o0k-a1ik3 dig1t5.
- Elegible
- 31
- Reemplazados
- 16
El conversor de leetspeak reescribe cualquier texto cambiando letras por sus equivalentes clásicos del 1337 — la a se convierte en 4, la e en 3, la t en 7 — pero, a diferencia de un traductor de todo o nada, le permite elegir cuánto del texto se convierte. Elija la intensidad ligera para tocar aproximadamente un tercio de las letras elegibles, la media para la mitad o la extrema para convertirlas todas. La sustitución es totalmente determinista, de modo que la misma entrada con la misma intensidad produce siempre la misma salida, lo que la hace segura para pipelines, pruebas y contenido generado.
Qué es el leetspeak y por qué importa la intensidad
El leetspeak, también escrito 1337 o leet, es el alfabeto de sustituciones que nació en la cultura de los primeros tablones de anuncios: las letras se reemplazan por dígitos y símbolos que se les parecen, de modo que «elite» se convierte en «3l1t3». La mayoría de los conversores lo tratan como algo binario — una letra se reemplaza siempre o nunca — lo que produce un resultado ilegible o idéntico al original. Los usos reales rara vez están en esos extremos.
Un nombre de jugador quiere la conversión completa para lucir el estilo; una pista de contraseña o un titular estilizado quieren solo un toque, suficiente para sugerir el estilo sin sacrificar la legibilidad. El conversor de leetspeak expone ese término medio mediante un único parámetro de intensidad. La intensidad ligera sustituye cada tercera letra que tiene equivalente leet, la media sustituye una de cada dos y la extrema las sustituye todas.
Como la decisión se basa en la posición de cada letra entre las elegibles, el resultado es estable: ejecútelo dos veces con el mismo texto e intensidad y obtendrá exactamente la misma cadena, byte a byte, sin que intervenga azar en ningún punto del proceso.
Cómo funciona el motor de sustitución
El conversor recorre la cadena de entrada una sola vez, carácter a carácter, con una tabla clásica fija: a a 4, e a 3, i y l a 1, o a 0, s a 5, t a 7, b a 8. La comparación no distingue mayúsculas, así que «A» y «a» son candidatas, y todo carácter sin entrada en la tabla — dígitos, puntuación, espacios, acentos, emoji — pasa intacto.
Cada letra candidata se cuenta al aparecer, y la intensidad decide cuáles se reemplazan: con la ligera, solo las candidatas en posiciones cero, tres, seis y así sucesivamente; con la media, las candidatas en posición par; con la extrema, todas. Esta regla posicional es lo que hace la salida reproducible sin ninguna fuente de azar, lo cual importa cuando se comparan resultados entre entornos o se almacenan para después.
La respuesta incluye la cadena convertida junto con la intensidad usada, el número de letras elegibles encontradas y cuántas se reemplazaron realmente, de modo que quien la invoca de forma automatizada pueda verificar el efecto.
Dónde se usa de verdad
Los desarrolladores lo usan para generar datos de prueba — cadenas con aspecto ofuscado que aún se pueden buscar como el original — y para construir listas de palabras para auditorías de seguridad, donde la sustitución sistemática de letras es una mutación estándar aplicada a términos de diccionario. Los gestores de comunidades y creadores de contenido usan la intensidad ligera para dar a un titular o una publicación un aire retro de hacker sin hacerlo ilegible para el público general.
Los valores de intensidad no admitidos fallan de inmediato con un error explícito, lo que mantiene visibles las integraciones mal configuradas durante el desarrollo en lugar de producir en silencio resultados inesperados en producción.
Qué puede hacer con ella
Construir listas para auditorías de contraseñas
Aplique la intensidad extrema a términos de diccionario para generar las mutaciones leet sistemáticas que las herramientas de seguridad prueban durante las auditorías de credenciales.
Añadir un toque retro a un titular
Pase un título con intensidad ligera para salpicarlo con unas pocas sustituciones 1337: suficiente para sugerir el estilo sin perjudicar la legibilidad para el público general.
Preguntas frecuentes
¿Cuánto cuesta?
También es gratis ejecutarlo en su navegador en esta página: el mismo código produce ambos resultados.
¿Cuáles son los niveles de intensidad?
La ligera sustituye cada tercera letra elegible, la media una de cada dos y la extrema todas. El valor por defecto es media.
¿Qué letras se reemplazan?
Una tabla clásica fija: a→4, e→3, i→1, o→0, s→5, t→7, l→1 y b→8. No se distinguen mayúsculas; todo lo demás pasa sin cambios.
¿La salida es siempre la misma?
Sí. La sustitución es posicional y sin azar, de modo que el mismo texto con la misma intensidad produce siempre una salida idéntica.
¿Puede convertir leetspeak de vuelta a texto normal?
No. Esta capacidad solo convierte texto normal a leetspeak; para decodificar una cadena leet existente utilice la capacidad traductora de leetspeak.
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/text/leetspeak-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Leetspeak replaces letters with look-alike digits."}'const res = await fetch("https://api.kit.forhosting.com/text/leetspeak-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Leetspeak replaces letters with look-alike digits."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/leetspeak-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Leetspeak replaces letters with look-alike digits."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/leetspeak-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Leetspeak replaces letters with look-alike digits."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Leetspeak replaces letters with look-alike digits."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/leetspeak-convert", 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": "Leetspeak replaces letters with look-alike digits."
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.leetspeak_convert",
"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 | 1 |
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
Funciona gratis en su navegador en esta página y por API a $0.002 por llamada.
Cómo funciona el motor de sustitución
El texto es obligatorio, debe ser una cadena no vacía hasta el límite de tamaño publicado, y un valor de intensidad no reconocido se rechaza con un error invalid_input claro en lugar de un reemplazo silencioso.
Dónde se usa de verdad
El uso más común es la creación de nombres: alias de jugador, nombres de clan, identificadores de foro y nombres de redes Wi-Fi que deben leerse como palabras normales pero destacar a simple vista, donde la intensidad media suele dar el punto exacto entre estilo y legibilidad. Como el algoritmo es determinista y no tiene dependencias, la misma conversión funciona idéntica en la herramienta gratuita del navegador de esta página y a través de la API de pago, así que puede prototipar pegando texto y pagar solo a $0.002 por llamada cuando lo integre en un flujo automatizado.
Casos de integración
Dar estilo a un alias de jugador
Convierta un apodo con intensidad media para que siga siendo legible pero inequívocamente leet, obteniendo una variante estilizada que puede reutilizar de forma consistente.
Preguntas técnicas
¿Qué ocurre con una intensidad no válida?
La llamada se rechaza con un error invalid_input que nombra los valores admitidos (light, medium, extreme) y no se cobra nada.