- Tiempo de lectura
- 0 segundos
- Leído en voz alta
- 0 segundos
- Largo medio de palabra
- 0
- Bytes en UTF-8
- 0
- Unidades UTF-16 (String.length)
- 0
- Puntos de código Unicode
- 0
Cómo funciona
Contar caracteres parece trivial hasta que aparece un emoji. La cantidad que ve una persona no coincide con la que guarda una base de datos ni con la que devuelve un lenguaje de programación: el emoji de una familia es un solo carácter en pantalla, pero son 5 puntos de código Unicode, 8 unidades UTF-16 (lo que devuelve String.length en JavaScript, Java o C#) y 18 bytes en UTF-8. Esta herramienta muestra las cuatro medidas, así que sirve tanto para un texto de marketing como para dimensionar una columna VARCHAR.
Las palabras, oraciones y caracteres se cuentan con las reglas de segmentación de Unicode que trae el navegador, las mismas que usa para mover el cursor o seleccionar con doble clic. Por eso funciona también con idiomas que no separan las palabras con espacios, como el chino o el japonés, y no cuenta una letra con tilde combinada como dos caracteres.
El tiempo de lectura usa las velocidades medias de un metaanálisis de 190 estudios (Brysbaert, 2019): 238 palabras por minuto en lectura silenciosa de no ficción y 183 en voz alta. El texto no sale de tu navegador ni se guarda en el enlace para compartir.
Ejemplos
👨👩👧1 · 5 · 8 · 18Un carácter visible, 5 puntos de código (tres emojis unidos por dos caracteres invisibles de unión), 8 unidades UTF-16 y 18 bytes en UTF-8. Si una API limita a 280 "caracteres", conviene averiguar cuál de estas medidas usa.SMS · 151 GSM-7 → 151 UCS-21 SMS → 3 SMSUn SMS de 151 caracteres entra en un solo mensaje con el alfabeto GSM, pero basta una sola í para que el teléfono pase a UCS-2, donde cada parte admite 67 caracteres: el mismo texto pasa a costar tres mensajes.café (NFC) · cafe + ◌́ (NFD)4 · 5La misma palabra puede guardarse con la é como un solo punto de código o como una e seguida de un acento combinado. En pantalla son idénticas y esta herramienta cuenta 4 caracteres en los dos casos, pero String.length devuelve 4 o 5.Casos de uso
- Ajustar títulos y meta descriptions al largo que muestra Google sin que se corten.
- Calcular cuántos SMS va a costar una campaña o un código de verificación, y detectar el carácter que la encarece.
- Dimensionar una columna de base de datos o validar un campo con límite en bytes, como VARCHAR en MySQL con utf8mb4.
- Cumplir el mínimo o el máximo de palabras de un trabajo, un resumen o una convocatoria.
- Estimar cuánto dura la lectura de un artículo o la locución de un guion.
- Detectar palabras repetidas en exceso antes de publicar un texto.
Preguntas frecuentes
¿Por qué otro contador me da una cifra distinta?
Porque no hay una única forma de contar. Muchos contadores usan String.length y cuentan unidades UTF-16, así que un emoji vale 2 o más; otros cortan las palabras con expresiones regulares que parten en los apóstrofos y cuentan "don't" o "l'eau" como dos. Acá los caracteres son lo que se ve en pantalla y las palabras siguen las reglas de Unicode, que es lo más parecido a cómo cuenta una persona.
¿Por qué una tilde cambia el costo de un SMS?
El alfabeto GSM de 7 bits permite 160 caracteres por mensaje, pero no incluye todas las letras con tilde: tiene é, ñ, ü y à, pero no á, í, ó ni ú. Con un solo carácter fuera de ese alfabeto, el mensaje entero pasa a UCS-2 y el límite baja a 70, o a 67 por parte si hay que dividirlo. Algunos operadores usan la tabla nacional española, que sí las incluye, pero no conviene contar con eso.
¿Cuántos caracteres admite un título para Google?
Google no corta por caracteres sino por ancho en píxeles, alrededor de 600 en escritorio, así que el límite real depende de las letras: una W ocupa mucho más que una i. Entre 50 y 60 caracteres suele entrar completo; la meta description se muestra hasta unos 155 a 160 caracteres. Las barras de la herramienta usan esos valores como referencia.
¿El conteo coincide con el de X (Twitter)?
Casi siempre, pero no del todo. X cuenta cada enlace como 23 caracteres sin importar su largo y los caracteres chinos, japoneses y coreanos como 2. Para textos sin enlaces y en alfabeto latino, la cifra es la misma.
¿Cuántos bytes ocupa un texto en la base de datos?
Depende de la codificación de la columna. En UTF-8 las letras del inglés ocupan 1 byte, las letras con tilde y el cirílico 2, el chino 3 y los emojis 4. MySQL con utf8mb4 cuenta el largo de VARCHAR en caracteres pero el límite de fila en bytes, y SQL Server con NVARCHAR usa UTF-16, que es la medida de unidades UTF-16 de esta herramienta.