Tools100% локально
← Назад к инструментам

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

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

Эти инструменты — лаконичный пояс утилит для того, к чему разработчики, операторы и специалисты по безопасности обращаются по нескольку раз в день: декодирование токенов из 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.

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

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

Ничто из того, что вы вставляете, печатаете или сбрасываете, не отправляется и не сохраняется где-либо за пределами вашей вкладки браузера. Единственное, что сохраняется надолго, — несколько пользовательских настроек (тема, палитра, переключатель анимации) в localStorage. Полная версия — в Политике конфиденциальности.

Контакты

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