Cuenta de caracteres en tiempo real con control de límites de redes sociales.
Cuenta caracteres con y sin espacios, además de palabras, oraciones, párrafos y bytes. Obtén estadísticas al instante, ligadas a los límites de las redes sociales, los límites de las meta de SEO, los SMS y otros contextos con tope de caracteres. Se actualiza en vivo mientras escribes. Todo corre de forma local en tu navegador.
Contar caracteres es más sutil de lo que parece. La cadena «café» tiene cuatro caracteres a simple vista. Pero la cuenta de bytes de fondo depende de la codificación: cinco bytes en UTF-8 (la «é» ocupa dos bytes), cuatro caracteres en la propiedad length de JavaScript (que cuenta unidades de código UTF-16, y aquí coincide por casualidad) y de uno a cinco según cómo cuentes los grupos en escrituras poco comunes.
Esta herramienta muestra tres cuentas que cubren los casos que aparecen en la práctica: caracteres visibles (grafemas, lo que ve una persona), puntos de código (los caracteres Unicode tal como los define la norma) y bytes (UTF-8). En la mayoría del texto cotidiano, las tres cifras son idénticas o casi. En textos con emojis, letras acentuadas o escrituras no latinas, se separan de formas que importan en los campos con límite de caracteres.
Límites de caracteres en Twitter, Mastodon y los hilos. Twitter cuenta 280 «caracteres» con un sistema ponderado en el que la mayoría de los caracteres latinos valen 1 unidad, pero los CJK valen 2. Mastodon usa la cuenta directa de puntos de código Unicode hasta 500. La cuenta de Bluesky es de 300 grafemas. Cada plataforma cuenta de forma algo distinta. La cuenta de grafemas de la herramienta se acerca a Mastodon y Bluesky; en Twitter, espera una pequeña sobrecuenta en textos cargados de CJK.
Límites de caracteres en los SMS. Un SMS estándar (codificación GSM-7) admite 160 caracteres. Agregar cualquier carácter fuera de GSM (emojis, letras acentuadas, comillas tipográficas) cambia a la codificación UCS-2, que limita el mensaje a 70 caracteres. Saber la cuenta, y vigilar qué carácter te empuja a UCS-2, evita la sorpresa de pagar varios mensajes.
Meta descripción y título para SEO. Google recorta las meta descripciones alrededor de los 155–160 caracteres en los resultados de escritorio, y menos en móvil. Las etiquetas de título se recortan cerca de los 60 caracteres. Escribir justo hasta el límite (sin que se desborde) aprovecha al máximo el fragmento visible en los resultados.
Asuntos de correo. Los clientes de correo en móvil muestran unos 25–30 caracteres del asunto; los de escritorio, entre 50 y 70. Un asunto optimizado para ambos cabe en menos de 50 caracteres, idealmente con la palabra más importante al principio.
Pruebas de validación de campos de formulario. Las columnas de una base de datos tienen una longitud máxima. Para comprobar la validación de un formulario, pega exactamente N caracteres y envíalo. El contador te ayuda a generar entradas de prueba en el límite con precisión.
Comprobar la longitud de contraseñas. Algunos sitios topan las contraseñas en 16, 32, 64 o 128 caracteres. Saber la longitud de tu contraseña candidata ayuda a prever el comportamiento del tope antes de enviarla.
Presupuestos de longitud para traducción y localización. El texto de interfaz traducido suele ocupar entre un 30 y un 50 % más que el inglés. Si tu botón en inglés tiene 20 caracteres, la versión en alemán podría necesitar 30. Reserva un margen de caracteres para el texto traducido.
Convenciones de comentarios de código y mensajes de commit. El asunto de un mensaje de commit de Git debería caber en menos de 50 caracteres; las líneas del cuerpo deberían cortarse a los 72. Muchos editores no lo imponen; el contador detecta las líneas demasiado largas.
Tres definiciones distintas de «carácter» producen tres cuentas distintas, y cuál te conviene depende del contexto.
Los grafemas son lo que ven las personas: un «carácter» por cada marca visible. La cadena «👨👩👧» (emoji de familia) es un solo grafema aunque se construya con cuatro puntos de código unidos por uniones de ancho cero. Las plataformas sociales modernas cuentan grafemas porque es lo que percibe quien usa.
Los puntos de código son los «caracteres» que define Unicode: las entidades abstractas a las que la norma asigna un número. El emoji de familia de arriba son 4 puntos de código (el hombre, la mujer, la niña y la unión; en realidad 7 si cuentas todas las uniones y los selectores de variación). La cuenta de puntos de código es la que dan [...str].length de JavaScript o len(s) de Python.
Los bytes (UTF-8) son el tamaño real de almacenamiento cuando el texto se codifica en UTF-8 (la codificación dominante en la web). Un carácter ASCII ocupa 1 byte; un carácter latino acentuado, 2 bytes; un carácter CJK, 3 bytes; un emoji, 4 bytes (o más, en las secuencias de emojis). Los límites de tamaño de columna de una base de datos, los límites de carga útil de una API y las métricas de espacio por mensaje miran la cuenta de bytes, no la de caracteres visibles.
Para los límites estilo Twitter y los de SMS, la cuenta de puntos de código es la más cercana a lo que se aplica. Para los campos de base de datos y los presupuestos de almacenamiento, lo que importa es la cuenta de bytes. Para «qué ve la persona», la respuesta correcta son los grafemas.
Tomar str.length de JavaScript como la cuenta de caracteres. El length de JavaScript es la cuenta de unidades de código UTF-16. Para ASCII equivale a la cuenta de caracteres; para los emojis y los caracteres de planos suplementarios, puede ser el doble de la cuenta visible. "😀".length es 2, no 1.
Olvidar que el texto pegado trae caracteres ocultos. Copiar y pegar desde apps de chat, sitios web o PDFs puede introducir espacios de ancho cero, espacios duros, BOM y otros caracteres invisibles que cuentan para el límite pero no se ven. Si tu cuenta de caracteres está misteriosamente alta, pásala primero por Eliminar Espacios (modo de todos los espacios).
Contar los saltos de línea. Los saltos de línea son caracteres. Un texto de 3 líneas con 60 caracteres cada una cuenta como 182 caracteres (60 + salto + 60 + salto + 60), no 180. Esto pilla a quien escribe tuits de varias líneas que caben por separado pero superan el tope total.
Conversión a comillas tipográficas. Word y Google Docs convierten solas las comillas rectas (") en comillas curvas (", "). Las comillas curvas ocupan 3 bytes en UTF-8 frente a 1 de las rectas. Si optimizas para SMS u otros contextos que cuentan bytes, pega conservando las comillas como ASCII recto.
Esta herramienta. La más rápida para contar en vivo fuera de un procesador de texto; muestra de forma explícita grafemas, puntos de código y bytes.
La cuenta de caracteres de Microsoft Word (Herramientas → Contar palabras). Cuenta unidades de código UTF-16, parecido al length de JavaScript. Difiere de la cuenta de grafemas en los emojis y las escrituras complejas.
El contador de caracteres de Twitter. Usa una ponderación propia (los caracteres CJK valen 2). Difiere un poco de la cuenta de grafemas de esta herramienta en contenido en idiomas asiáticos.
Los probadores de asuntos de correo. Suelen contar unidades de código (igual que el recorte de la mayoría de los clientes de correo). Para el trabajo de correo en concreto, mejor usa probadores de asuntos específicos.
El contador escucha los cambios de la entrada y vuelve a contar en cada tecla. La cuenta de grafemas usa Intl.Segmenter con granularity: "grapheme" en los navegadores modernos, y recurre a un separador de grupos de grafemas por regex en los más antiguos. La cuenta de puntos de código usa [...str].length. La cuenta de bytes usa new TextEncoder().encode(str).length.
Para texto típico de menos de unos pocos miles de caracteres, la cuenta es instantánea. Las entradas muy largas (cientos de miles de caracteres) provocan un retardo perceptible por tecla en algunos navegadores; para esos casos, pega una vez y lee la cuenta en vez de escribir.
En redes sociales, cuenta después de escribir. No intentes escribir hacia una cifra. Escribe el post y luego recórtalo para que entre. Contar con demasiada conciencia mientras redactas produce frases forzadas.
En los SMS, vigila los cambios de codificación. Si tu texto cabe con holgura en menos de 160 caracteres, sale como un solo SMS. Agrega un emoji o una letra acentuada y pasas a mensajes de 70 caracteres. Ese umbral pilla a quien envía lo que creía un mensaje y en realidad pagó tres.
En las meta descripciones, escribe 150 y no 160. Los buscadores recortan según el ancho en píxeles, no exactamente por la cuenta de caracteres. Una descripción de 160 caracteres con letras anchas (W, M) podría cortarse a los 145; una con letras estrechas (i, l) podría caber en 170. Apunta de 5 a 10 caracteres por debajo del tope por seguridad.
La mayoría de los contadores simples usan la cuenta de unidades de código o de puntos de código, donde un emoji puede valer 1, 2 o más unidades. Los contadores modernos que entienden de grafemas (este, Twitter, los clientes modernos de Mastodon) cuentan los emojis visibles como 1.
Sí. Los saltos de línea son caracteres y suman a la cuenta, incluida la de bytes.
Sí. El cirílico, el griego, el árabe, el hebreo, el chino, el japonés, el coreano y otras escrituras se cuentan bien. La cuenta de bytes varía (1 byte para el latino, 2 para casi todo el latino acentuado y el cirílico, 3 para el CJK y casi todas las escrituras no latinas).
Cercana, no exacta. Twitter aplica un peso a los caracteres CJK (los cuenta como 2 cada uno) que la cuenta de grafemas de esta herramienta no replica. En tuits en escritura latina, las cuentas coinciden; en tuits con caracteres CJK, espera una pequeña subcuenta frente a lo que muestra Twitter.
UTF-8 usa 1 byte para ASCII, 2 para casi todo el latino acentuado y el cirílico, 3 para el CJK y 4 para los emojis y los caracteres raros. La cuenta de bytes supera a la de caracteres siempre que tu texto tenga algo más que ASCII simple.
Sí, pero la cuenta incluye los caracteres del marcado. Para contar solo los caracteres visibles del texto con formato, pega la versión renderizada (no la del código fuente).