Contador de grafemas
Cuente los caracteres que una persona ve en un texto, llamados grafemas, junto con sus puntos de código y sus unidades UTF-16: abc da 3, 3 y 3. Las cifras se separan con letras acentuadas y emojis formados por varias piezas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- abc
- Grafemas
- 3
- Puntos de código
- 3
- Unidades UTF-16
- 3
Cuente los caracteres que percibe el usuario (clusters de grafemas extendidos) en texto Unicode. Intención de búsqueda: conteo de grafemas / conteo de caracteres unicode. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Cómo funciona
Cuente los caracteres que percibe el usuario (clusters de grafemas extendidos) en texto Unicode. Los grafemas usan Intl.Segmenter cuando está disponible; también se informan puntos de código y unidades UTF-16. La implementación es JavaScript puro sin servicios externos.
No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta. Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda declarada con palabras clave precisas.
Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos incorrectos. Cuando un campo es opcional, los valores por defecto se documentan en params y se reflejan en la
Entradas, límites y redondeo
Los decimales opcionales usan half-up una sola vez. Las salidas repiten las entradas clave para que la automatización pueda registrar el contexto completo de cada llamada. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda declarada con palabras clave precisas. Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos incorrectos.
Cuando
Cuándo usarla
Úsela cuando su intención de búsqueda coincida con el nombre de la calculadora y necesite una respuesta reproducible para enseñanza, operaciones financieras, GIS, herramientas de texto o trabajo de historia de unidades. Cuente los caracteres que percibe el usuario (clusters de grafemas extendidos) en texto Unicode. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda declarada con palabras clave precisas. Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos incorrectos.
Cuando un campo es opcional, los valores por defecto se documentan en
Preguntas frecuentes
¿Llama a la red?
No. Toda la matemática y las transformaciones de texto son locales y deterministas.
¿Quién es el autor?
Aspire (elon@forhosting.com), entrega solo EN; Nitro hidrata los locales.
¿Qué es un grafema?
Es lo que un lector percibe como un solo carácter. Su nombre técnico es grupo de grafemas extendido: una letra con su acento o un emoji compuesto de varias piezas cuenta como un grafema aunque se guarde en varias partes.
¿Por qué da tres cifras distintas?
Porque cada una responde a una pregunta diferente. Los grafemas son los caracteres que ve una persona, los puntos de código son las unidades de Unicode que hay debajo y las unidades UTF-16 son las piezas que cuentan muchos programas al medir un texto.
¿Qué cifra conviene para un límite de longitud?
Los grafemas, cuando el límite está pensado para personas, como un nombre visible o un pie de foto corto, porque coinciden con lo que se percibe. Si el límite lo aplica un programa, compare con la cifra que ese programa usa realmente.
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/grapheme-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"👨👩👧👦"}'const res = await fetch("https://api.kit.forhosting.com/text/grapheme-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "👨👩👧👦"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/grapheme-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "👨👩👧👦"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/grapheme-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"👨👩👧👦"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"👨👩👧👦"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/grapheme-count", 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": "👨👩👧👦"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.grapheme_count",
"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
La calculadora es gratuita en el navegador, determinista e idéntica en la ruta de API. Las entradas se validan antes de cualquier aritmética, de modo que las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se solicitan decimales. Use el mismo contrato JSON desde hojas de cálculo, CMS
Cómo funciona
La calculadora es gratuita en el navegador, determinista e idéntica en la ruta de API. Las entradas se validan antes de cualquier aritmética, de modo que las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se solicitan decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos de CMS, automatización o demos didácticas.
Entradas, límites y redondeo
Proporcione los parámetros obligatorios como números o cadenas JSON según la documentación. Tipos inválidos, campos obligatorios ausentes o valores fuera de rango provocan invalid_input con un mensaje claro. La calculadora es gratuita en el navegador, determinista e idéntica en la ruta de API. Las entradas se validan antes de cualquier aritmética, de modo que las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se solicitan decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos de CMS, automatización o demos didácticas.
Cuándo usarla
La calculadora es gratuita en el navegador, determinista e idéntica en la ruta de API. Las entradas se validan antes de cualquier aritmética, de modo que las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se solicitan decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos de CMS, automatización o demos didácticas.
Casos de integración
Comprobación rápida
Pegue valores en el widget gratuito y compárelos con una hoja de cálculo.
Automatización
Llame a la API con el mismo contrato JSON desde n8n, scripts o CMS.
Enseñanza
Muestre la fórmula y los ejemplos golden fijados sin software propietario.
Preguntas técnicas
¿Es gratis en el navegador?
Sí. El tier A se ejecuta por completo en el cliente con el mismo núcleo que la API.
¿Qué ocurre con una entrada incorrecta?
El manejador lanza invalid_input; los trabajos fallidos no se facturan.
¿Puedo usarla desde la API?
Sí. Envíe los mismos campos JSON documentados en params.