Truncar texto por número de palabras con puntos suspensivos
Convierta un texto extenso en una vista previa concisa eligiendo el número máximo de palabras que desea conservar.
Ejecutar — gratis
La herramienta cuenta las palabras, se detiene en el límite solicitado y añade puntos suspensivos únicamente si el original contiene más palabras. Como nunca corta una palabra, el resultado se lee con naturalidad en tarjetas, resultados de búsqueda, avances de correo, catálogos y resúmenes editoriales. También puede elegir un cierre personalizado si los tres puntos no se ajustan a su guía de estilo. El proceso es determinista y no accede a la red, por lo que una misma entrada con la misma configuración siempre genera el mismo resultado.
Elija un límite de palabras adecuado
Empiece por decidir dónde aparecerá el extracto y cuánto espacio admite ese soporte con comodidad. Una tarjeta compacta puede necesitar un límite muy reducido, mientras que el índice de un artículo o un informe interno permite una vista previa más extensa. Introduzca el contenido original en el campo de texto y escriba en el campo de palabras la cantidad que desea conservar. El límite cuenta palabras separadas por espacios en blanco, no caracteres, de modo que una palabra corta y otra larga cuentan como una unidad cada una. Así resulta sencillo explicar la regla al equipo editorial y mantener criterios uniformes en textos con vocabularios distintos. Si el original no supera el número elegido, se devuelve completo y normalizado, sin puntos suspensivos. Si contiene más palabras, la herramienta conserva exactamente la cantidad solicitada y agrega el cierre elegido. El resultado también indica el recuento original y el conservado, lo que permite comprobar la operación antes de publicar el extracto o enviarlo a otro flujo de trabajo.
Comprenda los espacios y los límites de palabra
Las palabras se reconocen como secuencias de caracteres que no son espacios en blanco. Los espacios, tabuladores y saltos de línea las separan, y varios espacios consecutivos no producen palabras vacías. La salida une las palabras conservadas con un solo espacio, por lo que genera un extracto limpio en una línea aunque el texto proceda de párrafos copiados, una celda de una hoja de cálculo o contenido con espaciado irregular. La puntuación permanece unida a la palabra contigua: comas, puntos, apóstrofos y guiones se conservan en vez de reescribirse. La herramienta no intenta realizar segmentación lingüística ni corrección gramatical; aplica una regla de corte transparente y previsible tanto para clientes de API como para usuarios del navegador. Los puntos suspensivos funcionan como sufijo y no cuentan entre las palabras conservadas. Puede sustituir los tres puntos predeterminados por otra marca breve, incluso por un único carácter de elipsis o por una cadena vacía. En textos con formato inusual, conviene revisar el resultado si las convenciones de puntuación son importantes para su publicación.
Integre el resultado en procesos repetibles
Para trabajos recurrentes, mantenga el mismo límite de palabras y el mismo cierre en todos los elementos destinados al mismo lugar. De ese modo, las cuadrículas de productos, los boletines, las bases de conocimiento y las páginas de búsqueda adquieren un ritmo visual más uniforme, y los colaboradores disponen de una regla clara. El campo que indica si hubo truncamiento permite que el código posterior distinga un extracto generado de un original que ya cabía completo. Los valores con el número de palabras inicial y final resultan útiles en auditorías, pruebas y procesos editoriales que necesitan confirmar la transformación. La operación es determinista: un texto, un límite y un sufijo idénticos siempre producen la misma salida, sin variaciones de modelos ni dependencias de red. Por eso es apropiada para scripts de compilación y procesamiento por lotes. El precio base por solicitud es $0.002 al utilizar la capacidad alojada; la versión del navegador aplica el mismo algoritmo central. Considere el resultado como texto de presentación, no como resumen automático, pues conserva el comienzo y no determina qué datos posteriores pueden ser importantes.
Qué puede hacer con ella
Tarjetas de artículos y blogs
Cree textos de avance uniformes para páginas de listados y asegure que cada tarjeta termine después de una palabra completa.
Vistas previas de productos y catálogos
Acorte descripciones extensas con un presupuesto común de palabras para obtener cuadrículas, fuentes y comparaciones más limpias.
Extractos de correos y notificaciones
Prepare fragmentos iniciales previsibles para mensajes sin cortar por la mitad nombres ni palabras normales.
Preguntas frecuentes
¿Los puntos suspensivos se incluyen en el límite de palabras?
No. El límite controla cuántas palabras del original se conservan; los puntos suspensivos se añaden después y solo si se elimina contenido.
¿Qué ocurre si el texto ya es suficientemente corto?
El texto se devuelve sin puntos suspensivos y el campo de truncamiento indica que no se aplicó ningún recorte.
¿Cómo se cuentan las palabras?
Una palabra es una secuencia de caracteres distintos del espacio en blanco. Los espacios, tabuladores y saltos de línea separan palabras; el espaciado repetido actúa como un único separador.
¿Puedo cambiar o eliminar los puntos suspensivos?
Sí. Indique un cierre personalizado de hasta 32 caracteres o utilice una cadena vacía para quitar el sufijo visible.
¿La herramienta resume o reescribe el contenido?
No. Conserva las primeras palabras hasta el límite solicitado, en su orden original, y elimina el resto sin interpretar el contenido.
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/str/truncate-words \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The quick brown fox jumps over the lazy dog","words":5}'const res = await fetch("https://api.kit.forhosting.com/str/truncate-words", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The quick brown fox jumps over the lazy dog",
"words": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/truncate-words",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The quick brown fox jumps over the lazy dog",
"words": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/truncate-words", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The quick brown fox jumps over the lazy dog","words":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The quick brown fox jumps over the lazy dog","words":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/truncate-words", 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": "The quick brown fox jumps over the lazy dog",
"words": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.truncate_words",
"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_chars | 100000 |
max_words | 10000 |
max_ellipsis_chars | 32 |
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. |