Tools
← Назад к инструментам

Об этих инструментах

Что делает каждый и когда использовать

Эти инструменты — лаконичный пояс утилит для того, к чему разработчики, операторы и специалисты по безопасности обращаются по нескольку раз в день: декодирование токенов из API, быстрая генерация UUID, проверка регулярных выражений, хеширование только что скачанного файла. Всё происходит полностью в вашем браузере с помощью нативного Web Crypto и стандартных DOM API — ничто из того, что вы вставляете, печатаете или сбрасываете, не покидает ваше устройство.

Base64

Кодируйте обычный текст в Base64 (RFC 4648) или декодируйте обратно. Декодирование — направление по умолчанию, потому что в повседневной работе оно встречается куда чаще. Вы будете обращаться к декодированию Base64, когда смотрите URL data:, разбираете сегмент JWT, пришедший в заголовке Authorization, читаете токен, кем-то вставленный в Slack, или распаковываете секрет, попавший в переменную окружения. Кодирование вы используете, когда нужно встроить бинарно-безопасный текст в URL или JSON-поле. Оба направления корректно обрабатывают Unicode (UTF-8).

TOTP & HOTP — Генератор одноразовых паролей

Открыть отдельную страницу TOTP / HOTP →

Сгенерируйте тот же код, который покажет приложение-аутентификатор, имея общий секрет в Base32. Реализованы оба стандарта: RFC 6238 (TOTP, по времени) и RFC 4226 (HOTP, по счётчику), и доступны все опции, важные для реальных развёртываний 2FA: HMAC-SHA1 / SHA-256 / SHA-512, 6 / 7 / 8 разрядов, окна 30 / 60 секунд и явный счётчик HOTP. Совместим с Google Authenticator, 1Password, Authy, FreeOTP и любым другим RFC-совместимым клиентом.

Вставьте URI otpauth://, и все опции автоматически заполнятся из его параметров — полезно, когда URI получен по боковому каналу и его нужно проверить перед импортом. В обратную сторону действие Показать как QR передаёт текущую конфигурацию во вкладку QR, чтобы можно было сразу отсканировать в аутентификатор телефона. Окна предыдущего и следующего кодов остаются на экране на случай, если часы проверяющего сервера сдвинуты.

Генератор QR-кодов

Открыть отдельную страницу QR →

Отобразите любой текст или URL в виде QR-кода по ISO/IEC 18004. Самое практичное применение здесь — преобразовать URI otpauth:// в сканируемый код для передачи в телефонный аутентификатор, но работает с любым коротким текстом — учётные данные Wi-Fi, контакт, разовая ссылка. Выберите уровень коррекции ошибок L / M / Q / H — высокие выдерживают пятна и сгибы, но дают более плотные коды. Загружайте результат как векторный SVG (резкий при любом размере) или PNG.

Кодировщик / Декодировщик URL

Процентное кодирование и декодирование компонентов URL по RFC 3986. Декодирование по умолчанию, потому что чаще всего сценарий: «вижу закодированный URL в логе и хочу его прочитать». Доступны два режима: Компонент рассматривает ввод как одно значение и кодирует всё, кроме букв и цифр — строгий режим для значений параметров запроса; Полный URL сохраняет структурные символы URL (:/?#[]), чтобы полный URL оставался кликабельным. Используйте Компонент при работе со значениями строк запроса или сегментами пути по отдельности, Полный URL — при работе с целыми URL.

Форматировщик JSON

Проверяйте, форматируйте или минифицируйте JSON (ECMA-404). При невалидном вводе точная строка и колонка ошибки синтаксиса подсвечиваются, чтобы вы могли сразу перейти к проблемному символу. Форматировщик поддерживает отступы 2 пробела, 4 пробела и таб. Полезно, когда вы только что получили неформатированную строку от API, нужно посмотреть глубоко вложенный ответ или минифицировать перед встраиванием в артефакт сборки.

JWT-декодер и верификатор

Открыть отдельную страницу JWT →

Декодируйте и просматривайте JSON Web Tokens (RFC 7519). Токен делится на три Base64-кодированных части (заголовок, полезная нагрузка, подпись), JSON-содержимое каждой части форматируется. Стандартные временны́е заявления — iat, nbf, exp — отображаются как читаемые временны́е метки с живой обратной отсчётом, когда токен активен.

Вставьте ключ в поле Проверить подпись, и криптографическая проверка выполнится локально через Web Crypto API браузера. Поддерживаемые семейства: HS256/HS384/HS512 с общим секретом; RS256/RS384/RS512 и PS256/PS384/PS512 с открытым ключом RSA в формате PEM SPKI; ES256/ES384/ES512 с открытым ключом EC на P-256 / P-384 / P-521. Секрет или ключ хранится только в памяти на время проверки — никогда не отправляется на сервер, не пишется в хранилище и не логируется.

Хеш

Вычисляйте криптографические хеши (FIPS 180-4): SHA-1, SHA-256, SHA-384 и SHA-512. Перетащите файл или вставьте текст; дайджест вычисляется локально через crypto.subtle.digest — нативную реализацию Web Crypto в браузере. Полезно для сверки скачанного файла с опубликованной контрольной суммой, генерации отпечатков для контентного хранения или быстрых проверок целостности перед дальнейшей обработкой.

Hex

Конвертируйте между текстом и шестнадцатеричными последовательностями байт. Декодирование по умолчанию — вставьте hex (с разделителями между байтами или без них) и читайте как текст. Полезно при чтении hex-дампов, отладке двоичных протоколов или работе с низкоуровневой кодировкой, где есть сырые байты, но ещё нет читаемой формы. Опция разделителя при кодировании позволяет переключаться между выводом с пробелами, двоеточиями и непрерывным.

HTML-сущности

Кодируйте и декодируйте HTML-сущности. Декодирование по умолчанию — вставьте разметку, усыпанную <, &, " и т. д., и читайте оригинальные символы. Режим кодирования даёт HTML-безопасный вывод, подходящий для встраивания пользовательского текста в страницу. Справочная сетка под полем ввода показывает распространённые сущности, которые можно скопировать по отдельности.

Тестировщик Regex

Тестируйте регулярные выражения в JavaScript-стиле (ECMA-262). Введите шаблон, переключайте флаги (g глобально, i без учёта регистра, m многострочно, s точка-всё) и наблюдайте подсветку совпадений в тестовом тексте в реальном времени. Группы захвата выделены цветом; полный список совпадений и содержимое групп показаны ниже. Полезно для прототипирования шаблона перед вставкой в код, отладки причин, по которым регулярка не срабатывает как ожидалось, или интерактивного изучения синтаксиса регулярок.

Diff

Сравнивайте два текста и смотрите различия по строкам с добавлениями зелёным и удалениями красным. Полезно для обнаружения изменений между двумя конфигурациями, двумя ответами API, двумя выдержками из логов — всем, что нужно сравнить бок о бок. Итоговая строка показывает суммы, чтобы с одного взгляда видеть количество добавленных и удалённых строк.

Цвет

Вставьте цвет как HEX, rgb() или hsl() и увидите все четыре стандартные CSS-формы рядом — HEX, RGB, HSL и перцептивно равномерный OKLCH (CSS Color Module Level 4). Форма OKLCH показывается только как вывод и удобна при создании палитр темы или когда нужен цвет, чья яркость воспринимается единообразно вне зависимости от тона.

Генератор UUID

Генерируйте криптографически случайные UUID (RFC 4122 v4) — стандартный 128-битный идентификатор, используемый в БД, распределённых системах, ID очередей и API. Случайные байты берутся из crypto.getRandomValues. Под генератором есть валидатор, который сообщит, корректен ли вставленный UUID и какую версию RFC 4122 он заявляет (v1–v5).

Генератор паролей

Генерируйте криптографически случайные пароли в соответствии с рекомендациями NIST SP 800-63B. Выберите длину и какие классы символов включать (строчные, заглавные, цифры, символы); живая оценка энтропии обновляется при изменении настроек. Источник случайности — crypto.getRandomValues, тот же криптографически безопасный RNG, который современные браузеры используют для операций, связанных с TLS. Полезно, когда нужен новый сильный пароль для аккаунта или сервиса, и вы не хотите полагаться на то, что предлагает менеджер паролей по умолчанию.

Генератор случайных чисел

Открыть отдельную страницу →

Извлекайте криптографически случайные целые или десятичные числа из crypto.getRandomValues браузера. Страница использует выборку с отказом, поэтому нет смещения по модулю — Math.random() быстра, но детерминирована и слегка неравномерна при масштабировании в произвольный диапазон. Настраиваемо: диапазон (положительный, отрицательный или смешанный), сколько вытягивать за раз (до 10 000), целочисленный или десятичный режим (точность 0–15 разрядов), режим только-уникальные (использует частичное перемешивание Фишера–Йетса для честности), порядок и разделитель вывода (перевод строки, запятая, пробел, JSON-массив, CSV-строка). Готовы пресеты для бросков кубиков, лотерейных розыгрышей, процентов, случайных байтов и десятичных 0–1.

Подбрасывание монеты

Открыть отдельную страницу →

Настоящий бросок монеты с настоящей 3D-анимацией. Результат определяется одним битом из crypto.getRandomValues до начала вращения монеты, поэтому бросок чисто косметический, а результат доказуемо 50 / 50. Настраивайте надписи на сторонах (используйте Да / Нет, Остаться / Уйти, любую двоичную пару), выбирайте размер партии за бросок от 1 до 1000, выбирайте скорость анимации от Медленно до Мгновенно и наблюдайте, как проценты орла/решки сходятся. Журнал сессии показывает полную историю с отслеживанием самой длинной серии — полезно, чтобы своими глазами убедиться, что серии из десяти или более одинаковых сторон действительно случаются с ожидаемой частотой.

Unix-время

Конвертируйте Unix-метки времени (POSIX.1 — секунды с 1970-01-01 UTC) в читаемые даты и обратно. Живая метка наверху — это текущее время вашего устройства (Date.now()); никаких часовых сервисов не запрашивается. Выберите дату во второй колонке, чтобы увидеть её метку, или вставьте метку в первую колонку, чтобы увидеть дату в UTC, по местному времени и в человекочитаемой относительной форме («2 часа назад»). Полезно при чтении лог-файлов, отладке кода, связанного со временем, или просто чтобы понять, что значит 1714363200.

Сохранение и синхронизация настроек

Экспортируйте свои настройки в виде одной ссылки, а затем импортируйте их на другом устройстве — или в другом аккаунте. Это также служит быстрой резервной копией. Ссылка содержит всё, что сайт запоминает: цветовую тему (светлый / тёмный / авто режим, палитру и настройку анимации), язык интерфейса, расположение вкладок, вашу историю Временного обмена файлами и сохранённые фрагменты вкладки Буфер обмена. Последние два — это реальное содержимое, а не просто настройки, поэтому относитесь к ссылке как к любой загрузке, которой можно поделиться; но ничего из того, что вы декодируете или генерируете в других инструментах, не включается.

На главной странице инструментов откройте панель темы и выберите Создать ссылку синхронизации. Ваши предпочтения упаковываются в небольшой JSON-файл, загружаются через тот же Временный обмен файлами, что используется на сайте, и превращаются в ссылку, действительную до 3 часов. Нажмите на ссылку, чтобы скопировать её.

На другом устройстве вставьте ссылку в поле Восстановить по ссылке и выберите Применить и перезагрузить. Импортированные предпочтения перезаписывают текущие настройки, страница перезагружается и при необходимости переключается на сохранённый язык. Импорт и экспорт работают независимо от того, вошли вы в аккаунт или нет — поэтому одна и та же ссылка — удобный способ перенести настройки на новое устройство или скопировать конфигурацию одного аккаунта в другой.

Индикаторы состояния

The two small rectangles that form a square next to the Tools wordmark at the top of the main page are status indicators. They are decorative — every tool keeps working whatever they show — but they offer a quick read on the site’s health.

The left bar breathes in the accent colour at a tempo set by your browser’s round-trip latency to our edge: a slower breath means a healthy connection, a faster one a congested path. The measurement is a same-origin HEAD request to /robots.txt — no third party is contacted and nothing is logged. If your device goes offline the bar dims to grey and freezes, then lights back up the moment connectivity returns.

The right bar reflects the storage state of the Temporary File Share’s 9 GiB ceiling, polled from a small /api/status endpoint every couple of minutes. It shifts colour as the bucket fills: blue when more than 80% of the ceiling is still free, green between 40% and 80% free, yellow between 20% and 40% free, and orange below 20% free. Red means uploads are paused, either because the bucket is completely full or because your IP has been temporarily blocked for abuse. The right bar stays lit when blue or green, hops when yellow or orange, and stays lit when red.

Both bars freeze (lit, not dark) if your operating system reports Reduce motion — unless you explicitly turn Motion on in the theme panel, which overrides the system preference.

Как всё работает

Каждая операция выполняется локально в вашем браузере. Хеши, HMAC, генерация случайных чисел, base-кодирование, регулярки, рендеринг шрифтов — всё. Сайт не загружает сторонние скрипты, аналитику или рекламные фреймы. Единственные сетевые запросы после первой загрузки страницы — за самими статическими ресурсами (HTML, CSS, JS, шрифты, иконки), и только при первом посещении — затем Service Worker отдаёт их офлайн.

With five opt-in exceptions — the Temporary File Share, the Currency converter, the Wallet / ENS lookup, the Gas tracker, and the Stock quote — nothing you paste, type, or drop leaves your browser. Those five reach only our own origin, never a third party in your browser; our server may then read public market, rate, or blockchain data (and, for the file share and wallet, the file or address you provide) on your behalf. The only persistent state is a few user preferences (theme, palette, animation toggle) saved to localStorage. See the Privacy Policy for the full version.

Open-source notices

Smooth-corner rendering uses Lisse (@lisse/core), licensed under the MIT License: Copyright (c) 2026 Jace Attard.

Lisse MIT License text
MIT License

Copyright (c) 2026 Jace Attard

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Контакты

Вопросы, отчёты об ошибках или предложения новых инструментов? Пишите на [email protected].