У кодуванні UTF-8 латинська літера без діакритичних знаків (A…Z, a…z), цифра чи пробіл займають 1 байт, українська літера займає 2 байти, а емодзі 😀 займає 4 байти. Тому слово «Привіт» має 6 символів і 12 байтів, а розмір українського тексту в байтах зазвичай майже вдвічі більший за кількість символів.
Різниця між символами й байтами стає помітною, коли поле форми, API чи база даних обмежує саме байти. Текст, який за кількістю символів легко вкладається в обмеження, за розміром може не пройти.
Як порахувати розмір тексту в байтах онлайн
Найпростіше вставити текст у Калькулятор розміру тексту, і він одразу покаже розмір у байтах. Це інструмент сервісу Digily Link, нашого власного продукту.
- Відкрийте Калькулятор розміру тексту на digily.link.
- Вставте або надрукуйте текст у поле «Текст».
- Перевірте значення в рядку «Розмір». Результат буде в байтах (B), кілобайтах (KB) або мегабайтах (MB).
Додатково натискати нічого не потрібно, число оновлюється з кожною літерою. Калькулятор розміру тексту рахує байти просто в браузері, поки ви друкуєте, без надсилання тексту на сервер для обчислення. Інструмент рахує байти в UTF-8 і округлює результат до двох знаків після коми.
Числа в прикладах нижче ми перевірили окремо в Python, а не в самому калькуляторі. Обидва способи рахують байти в UTF-8, проте власний текст краще перевірити безпосередньо в калькуляторі.
Скільки байтів займає символ в UTF-8
Символ в UTF-8 займає від 1 до 4 байтів залежно від його номера в Unicode, тобто кодової точки. Межі діапазонів описано в стандарті RFC 3629, ми звірялися з ним 29 жовтня 2026 року.
| Діапазон кодових точок | Байтів | Що сюди потрапляє в українському тексті |
|---|---|---|
| від U+0000 до U+007F | 1 | латинські літери без діакритики (ASCII), цифри, пробіл, прямий апостроф ' (байт 27) |
| від U+0080 до U+07FF | 2 | українські літери, зокрема і (d1 96), ї (d1 97), Ґ (d2 90) та є, а також апостроф ʼ U+02BC (ca bc) |
| від U+0800 до U+FFFF (крім сурогатів від U+D800 до U+DFFF) | 3 | типографський апостроф ’ U+2019 (e2 80 99) |
| від U+10000 до U+10FFFF | 4 | наприклад, емодзі 😀 |
Отже, літери і, ї, є та ґ також займають по 2 байти в UTF-8. Це стосується літер, записаних однією кодовою точкою, як зазвичай і буває. Якщо ж ї набрано як і плюс комбінований знак діерезису, вона займе 4 байти. Ось кілька конкретних рядків.
| Текст | Символів | Байтів UTF-8 |
|---|---|---|
| Hello | 5 | 5 |
| Привіт | 6 | 12 |
| Ґанок | 5 | 10 |
| Київ 2026 | 9 | 13 |
| Привіт, світе! | 14 | 25 |
| 😀 | 1 кодова точка | 4 |
На прикладі «Київ 2026» видно, як рахується змішаний текст. Чотири літери дають 8 байтів, пробіл ще 1, а чотири цифри по 1 байту кожна, разом 13. У рядку «Привіт, світе!» кома, пробіл і знак оклику займають по 1 байту, так само як символи ASCII, тому виходить 25 байтів, а не 28.
Апостроф в українському слові займає 1, 2 або 3 байти
Те саме слово з апострофом має різний розмір, бо в Unicode є кілька схожих на вигляд знаків. Слово «м'ята» в нашому вимірюванні займало 9, 10 або 11 байтів залежно від того, який знак стоїть після «м».
| Знак | Кодова точка | Байти знака в UTF-8 | Слово | Байтів у слові |
|---|---|---|---|---|
| ' прямий апостроф | U+0027 | 1 (27) | м'ята | 9 |
| ʼ модифікаторний апостроф | U+02BC | 2 (ca bc) | мʼята | 10 |
| ’ права одинарна лапка | U+2019 | 3 (e2 80 99) | м’ята | 11 |
Чотири літери слова завжди дають 8 байтів, а вся різниця припадає на апостроф. На екрані ці знаки легко сплутати, тому в довгому тексті з багатьма апострофами розмір може відрізнятися на десятки байтів.
Таблиця порівнює розмір різних знаків апострофа в UTF-8, а не визначає правописну норму. Для офіційних текстів орієнтуйтеся на чинний правопис, а для технічних систем також на їхні вимоги до допустимих символів. Щоб з'ясувати, який знак стоїть у вашому тексті, можна подивитися байти в HEX і порівняти їх зі значеннями в таблиці.
Скільки байтів у кілобайті в Калькуляторі розміру тексту
Калькулятор переходить до наступної одиниці за 1024 байти і позначає її як KB. За стандартним розрізненням 1000 байтів це 1 KB, а 1024 байти це 1 KiB, але тут для перерахунку використовується саме 1024. Кілобайти з'являються лише тоді, коли розмір перевищує 1024 байти. Тому текст рівно на 1024 байти покаже «1024 B», а текст на 1025 байтів уже «1 KB», бо результат округлюється до двох знаків після коми.
Якщо ліміт задано в байтах, порівнюйте саме байти, а не кілобайти.
Пробіли, розділові знаки й переноси рядків теж мають розмір. Пробіл займає 1 байт, а переноси рядків у полі «Текст» калькулятор також зараховує. Символ нового рядка LF займає 1 байт, послідовність CRLF 2 байти. У текстовому полі браузера переноси зазвичай представлені символом LF, але інша система може обробляти їх по-своєму. Порожні рядки в кінці тексту прибирайте, лише якщо вони не потрібні.
Як умістити український текст у ліміт байтів
Щоб текст уклався в обмеження в байтах, рахуйте байти, а не символи. Лічильник символів для «Привіт» покаже 6, а система з лімітом у байтах побачить 12.
Розгляньмо умовний приклад поля з обмеженням у 160 байтів (він не стосується жодного конкретного сервісу). У таке поле поміститься 160 символів ASCII або приблизно 80 українських літер. Символів загалом вийде трохи більше, бо кожен пробіл займає лише 1 байт.
- Вставте фінальний варіант тексту в калькулятор і подивіться на рядок «Розмір».
- Знайдіть емодзі. Наприклад, 😀 займає 4 байти, стільки ж, скільки дві українські літери.
- Перевірте апострофи та лапки. Типографський апостроф ’ займає 3 байти, а прямий лише 1. Не замінюйте апострофи автоматично лише заради економії байтів, бо програми можуть обробляти різні знаки по-різному.
- Приберіть подвійні пробіли та порожні рядки.
- Після кожного скорочення знову перевіряйте розмір, бо число змінюється з кожним виправленням.
Як порахувати байти тексту в коді на Python і JavaScript
У Python розмір у байтах дає вираз len(s.encode('utf-8')), а len(s) рахує кодові точки Unicode. Для звичайних українських літер це збігається з кількістю символів, але складене емодзі на кшталт 👩💻 має 3 кодові точки і 11 байтів. Саме так ми отримали числа для цієї статті. Для «Привіт» перший вираз повертає 12, другий 6. Для емодзі 😀 len(s) дає 1, бо це одна кодова точка, а розмір у байтах становить 4.
У JavaScript у браузері можна використати new Blob([text]).size. Так само байти в UTF-8 рахує і наш калькулятор. Якщо писати код не хочеться, відкрийте калькулятор і порахуйте розмір тексту в байтах просто в браузері.
Часті запитання
Скільки байтів займає українська літера?
В UTF-8 кожна українська літера у звичайному записі однією кодовою точкою займає 2 байти, і велика, і мала. Наприклад, Ґ записується байтами d2 90, а і байтами d1 96.
Чому лічильник символів показує інше число, ніж калькулятор розміру?
Лічильник символів рахує знаки, а калькулятор розміру рахує байти. Обидва числа правильні, вони просто відповідають на різні запитання. Якщо обмеження задано в символах, орієнтуйтеся на лічильник символів, а якщо в байтах, то на розмір у байтах.
Чому розмір файлу Word відрізняється від розміру тексту в ньому?
Файл документа зберігає не лише текст, а й форматування, стилі та службову інформацію, а формат DOCX до того ж стискається. Тому розмір файлу не дорівнює розміру тексту в байтах і може бути як більшим, так і меншим. Щоб дізнатися розмір самого тексту, скопіюйте його з документа в калькулятор.