Saltar al contenido principal
Las publicaciones en X pueden contener hasta 280 caracteres. Sin embargo, no todos los caracteres cuentan por igual: los emojis, las URL y ciertos rangos de Unicode tienen reglas especiales de conteo.

Peso de los caracteres

X usa un sistema de recuento ponderado de caracteres. La mayoría de los caracteres cuentan como 1, pero algunos cuentan como 2:
Tipo de carácterPesoMáx. caracteres
Alfabeto latino, puntuación, símbolos comunes1280
Emojis2140 emojis
CJK (chino, japonés, coreano)2140 caracteres
Otros caracteres Unicode2 (predeterminado)Varía
Usa la biblioteca de código abierto twitter-text para contar caracteres con precisión en tu aplicación.

Conteo de emojis

Todos los emojis cuentan como 2 caracteres, independientemente de su complejidad:
EmojiVisualizaciónRecuento de caracteresUnicode
👾Emoji único2U+1F47E
🙋🏽Con tono de piel2🙋 + 🏽 (modificador)
👨‍🎤Combinado con ZWJ2👨 + ZWJ + 🎤
👨‍👩‍👧‍👦Secuencia familiar24 emojis + 3 ZWJs
Los caracteres de unión de ancho cero (ZWJ) combinan visualmente los emojis pero no aumentan el conteo.

Manejo de URL

Todas las URL se acortan con el acortador t.co y se contabilizan como 23 caracteres, independientemente de la longitud original:
https://example.com                    → 23 caracteres
https://example.com/very/long/path     → 23 caracteres
Esto se aplica a cualquier URL válida detectada en el texto de la Publicación.

Casos especiales

ContenidoRegla de cómputo
@menciones en respuestasLas @menciones que se rellenan automáticamente al inicio de las respuestas no cuentan
Nuevas @mencionesLas @menciones que agregas manualmente sí cuentan
MultimediaEl contenido multimedia adjunto (a través de aplicaciones oficiales) cuenta como 0 caracteres
HashtagsSe cuentan normalmente (# + texto de la etiqueta)

Codificación de texto

La X API requiere la codificación UTF-8. La longitud en caracteres se calcula usando la forma de normalización Unicode C (NFC). Ejemplo con café:
FormaBytesCaracteres
NFC (compuesta)c a f é4
NFD (descompuesta)c a f e ́5
X normaliza a NFC, por lo que ambas variantes se codifican como 4 caracteres.

Implementación

Usa la biblioteca oficial twitter-text para contar caracteres con precisión:
import { parseTweet } from 'twitter-text';

const result = parseTweet('Hello, world! 👋');
console.log(result.weightedLength); // 16
console.log(result.valid);          // true
La biblioteca gestiona todos los casos extremos, incluidas las secuencias de emoji, la detección de URL y la normalización Unicode.

Recursos

Biblioteca twitter-text

Biblioteca oficial de código abierto para el análisis de texto.

Archivo de configuración

Definiciones del peso de los caracteres y rangos de Unicode.