Помощник сжатия для localStorage
Сжимайте JSON-объекты и строки с помощью LZ-String перед сохранением в localStorage. Наш помощник сжатия для localStorage показывает точный объём сэкономленного места, число символов UTF-16 и процент использованного лимита браузера в 5 МБ — вместе с готовым фрагментом кода. Работает целиком в вашем браузере, поэтому данные никогда не покидают устройство. Быстро, точно и без регистрации.
Compress a JSON object or any string before storing it in localStorage. Shows exact space saved, UTF-16 character count, and percentage of the 5 MB browser limit used - entirely in your browser.
Smallest output for localStorage - stores 15 bits per character. Best for setItem() calls.
Зачем использовать наш помощник сжатия для localStorage?
- Мгновенное сжатие для localStorage: наш помощник сжатия для localStorage сжимает ваш JSON или текст мгновенно в браузере через LZ-String — без ожидания и обращений к серверу. Смотрите точный объём сэкономленного места, число символов UTF-16 и процент использованного лимита 5 МБ за секунды.
- Безопасное онлайн сжатие для localStorage: ваши данные никогда не покидают устройство. Наш онлайн помощник сжатия для localStorage выполняется целиком на стороне клиента на JavaScript — никакие данные не отправляются на сервер. Можно безопасно сжимать конфиденциальные пользовательские настройки, состояние сессии или приватные JSON-объекты.
- Метрики именно для localStorage: в отличие от универсальных текстовых компрессоров, наш помощник сжатия для localStorage показывает метрики, важные для localStorage: число символов UTF-16 (как браузеры измеряют хранилище), использованные байты, процент лимита 5 МБ и готовый фрагмент кода для вашего приложения.
- 100 % бесплатно навсегда: используйте наш помощник сжатия для localStorage совершенно бесплатно — без скрытых платежей, регистрации, рекламы и ограничений. Сжимайте данные localStorage онлайн столько раз, сколько нужно, для личных проектов, работы или корпоративных приложений. Бесплатно навсегда.
Что такое сжатие для localStorage?
Сжатие для localStorage — это техника сжатия строки или JSON-объекта перед сохранением в API localStorage браузера и распаковки при чтении. Браузеры измеряют использование localStorage в единицах кода UTF-16 (2 байта на символ) и ограничивают его примерно 5 МБ на источник. Наш бесплатный онлайн помощник сжатия для localStorage использует алгоритм LZ-String — JavaScript-реализацию сжатия LZ77 — чтобы сократить число символов в данных перед сохранением. Режим вывода UTF-16 оптимизирован именно для localStorage: он хранит 15 бит на символ вместо 6 бит у Base64, что делает его самым экономным вариантом для вызовов setItem().
Как работает наш помощник сжатия для localStorage
- Вставьте JSON или текст: введите JSON-объект, пользовательские настройки, ответ API или любую строку в поле ввода. Наш помощник сжатия для localStorage принимает любой текст — вставьте напрямую или загрузите файл.
- Выберите формат и сожмите: выберите UTF-16 (лучше всего для localStorage), Base64 (общее использование) или URI Component (состояние в URL). Нажмите «Сжать для localStorage» — вся обработка идёт локально в браузере, данные не покидают устройство.
- Скопируйте результат и посмотрите метрики: скопируйте сжатую строку для вызова localStorage.setItem(). Панель метрик показывает исходный размер, сжатый размер, сэкономленное место и процент использованного лимита 5 МБ — плюс готовый фрагмент кода.
Что означают три формата вывода
- UTF-16 (localStorage): самый экономный формат для localStorage — 15 бит на символ. Даёт минимальное число символов для вызовов setItem(). Не безопасен для URL: используйте только для localStorage и sessionStorage.
- Base64: безопасный для URL вывод Base64 по 6 бит на символ. Больше UTF-16, но совместим с JSON, API и любым строковым контекстом. Подходит для общего хранения и передачи данных.
- URI Component: безопасный для URL вывод без дополнения, по 6 бит на символ. Идеален для встраивания сжатого состояния в параметры URL — для ссылок, которыми можно поделиться, и глубоких ссылок.
- Распаковка: выберите тот же формат, что и при сжатии, и переключитесь в режим распаковки, чтобы восстановить исходную строку. Инструмент проверяет вывод и сообщает об ошибке, если формат не совпадает.
Важные ограничения
Сжатие LZ-String лучше всего работает с повторяющимся или структурированным текстом — JSON-объектами, HTML и данными конфигурации — обычно давая сокращение на 50–80 %. Очень короткие строки (менее ~100 символов) или уже сжатые данные могут не уменьшиться и даже слегка вырасти из-за накладных расходов алгоритма. Лимит localStorage в 5 МБ действует на источник и немного различается между браузерами: Safari в некоторых конфигурациях применяет более строгие лимиты. Всегда проверяйте сжатые данные в целевом браузере перед публикацией в продакшене.
Часто задаваемые вопросы
Помощник сжатия для localStorage сжимает JSON-объект или строку через LZ-String перед тем, как вы сохраните их в API localStorage браузера. Он показывает точный объём сэкономленного места, число символов UTF-16 и процент использованного лимита 5 МБ — целиком в вашем браузере.
Нет, если при чтении вы распаковываете данные соответствующей функцией LZString.decompress. Инструмент даёт готовый фрагмент кода, который показывает, как именно сжимать при записи и распаковывать при чтении.
Безусловно. Ваши данные никогда не покидают устройство. Наш онлайн помощник сжатия для localStorage обрабатывает всё локально в браузере — никакие данные не отправляются на сервер.
Да, 100 % бесплатно, без скрытых платежей, без регистрации, без платных тарифов и без ограничений использования.
Для localStorage используйте UTF-16 — он хранит 15 бит на символ, что делает его самым экономным вариантом для вызовов setItem(). Для общего хранения используйте Base64, а для параметров URL — URI Component.
LZ-String обычно даёт сокращение на 50–80 % для повторяющихся JSON-объектов и данных конфигурации. Очень короткие строки могут не сжаться из-за накладных расходов алгоритма. Инструмент показывает точную экономию для ваших данных.
Большинство браузеров ограничивают localStorage примерно 5 МБ на источник. Браузеры измеряют хранилище в единицах кода UTF-16: каждый символ занимает 2 байта. Наш инструмент показывает, сколько именно процентов этого лимита занимают ваши данные до и после сжатия.
Да. Сжимайте сериализованный снимок состояния перед сохранением и распаковывайте его в методе getItem вашего адаптера хранилища. Инструмент показывает точный сжатый размер, чтобы вы убедились, что дерево состояния укладывается в лимит 5 МБ.
Инструмент покажет предупреждение в полосе использования лимита. Рассмотрите разбивку данных по нескольким ключам, переход на IndexedDB или сокращение объёма хранимых данных. Так вы обнаружите проблему до появления QuotaExceededError в продакшене.