Tamaño de un texto en bytes

Cuánta memoria ocupa un texto en UTF-8, UTF-16 y Latin-1, con los caracteres y los puntos de código por separado.

24 caracteres ocupan 28 bytes en UTF-8.

UTF-8
28 bytes
UTF-16
50 bytes (25 unidades de código)
Latin-1
no representable: el texto tiene caracteres fuera de Latin-1
Caracteres y puntos de código
24 puntos de código, 25 unidades UTF-16
Frente al límite
cabe — quedan 227 bytes libres

La pregunta «cuánto mide este texto» tiene por lo menos cuatro respuestas: caracteres, puntos de código, bytes UTF-8 y unidades UTF-16. Mientras solo haya ASCII todas coinciden; en cuanto aparecen tildes o emojis se separan.

Justo ahí fallan los límites de caracteres: una columna para 255 bytes admite 255 letras latinas, pero solo 127 vocales acentuadas y apenas 64 emojis.

Cuatro recuentos, cuatro cifras

Un emoji como el de la paella es un punto de código, un carácter para quien lee, cuatro bytes en UTF-8 y dos unidades en UTF-16. Una bandera hecha de dos letras regionales son dos puntos de código pero un solo carácter, y ocho bytes.

En JavaScript la propiedad length cuenta unidades UTF-16, lo que con emojis da de más. En PostgreSQL un límite cuenta caracteres, en MySQL cuenta caracteres o bytes según la definición, y en muchos protocolos cuentan bytes. Quien tome el recuento equivocado corta el texto por la mitad de un carácter.

Por qué sigue apareciendo Latin-1

Sistemas antiguos, interfaces de impresoras y algunos formatos bancarios siguen esperando una codificación de exactamente un byte por carácter. Caben 256 caracteres distintos: suficiente para Europa occidental, pero no para el símbolo del euro en su posición actual ni para el polaco o el turco.

Por eso la calculadora indica si el texto se puede representar en Latin-1 sin pérdidas. Si aparece un aviso de caracteres no representables, la transmisión los sustituirá por interrogantes.

Preguntas frecuentes

¿Por qué mi mensaje pasa del límite si no llego a los caracteres?
Porque algunos servicios cuentan con peso: los caracteres latinos cuentan uno, muchos otros cuentan dos y los enlaces se cuentan con una longitud fija. El recuento de caracteres a secas solo vale con texto ASCII puro.
¿Qué es la marca de orden de bytes?
Un carácter invisible al principio del archivo que delata la codificación. En UTF-8 ocupa tres bytes y en realidad sobra, pero está extendido en Windows porque si no Excel lee mal un CSV. Cuenta para el tamaño del archivo, no para el del texto.
¿Cómo corto un texto a n bytes sin romperlo?
No cortando la secuencia de bytes, que parte el último carácter. Lo correcto es ir añadiendo carácter a carácter y parar antes de pasarse. De otro modo quedan secuencias de bytes inválidas que acaban en interrogantes o en un error.

Fuentes

Cifras vigentes en 2026. Los resultados son orientativos y no sustituyen a una asesoría laboral o fiscal.

También te puede servir