Конвертер cookies онлайн: Netscape ↔ JSON ↔ header

Вставьте cookies в любом формате — формат определится сам, а на выходе будет нужный: cookies.txt для curl и yt-dlp, JSON для расширений и Playwright, header-строка для запросов. Таблица покажет домены, сроки и флаги, истёкшие подсветит.

работает в браузере · данные никуда не отправляются

Перетащите cookies.txt или .json — файл читается локально

    

Как пользоваться

  1. Вставьте cookies или перетащите файл cookies.txt / .json — формат входа определится автоматически (можно указать вручную в селекте «Вход»).
  2. Выберите формат выхода: Netscape, JSON, Header или Set-Cookie — результат пересчитается сразу.
  3. Если на входе header-строка или Set-Cookie без Domain, заполните домен по умолчанию — иначе в cookies.txt не будет домена и curl их не отправит.
  4. В таблице ниже проверьте домены, пути, срок жизни и флаги Secure/HttpOnly; истёкшие подсвечены янтарём, фильтр ищет по домену и имени.
  5. Копировать или Скачать (.txt для Netscape/header, .json для JSON). Ничего не сохраняется — закрыли вкладку, данных нет.

Какие форматы поддерживаются

ФорматКто используетКак выглядит
Netscape (cookies.txt)curl -b, wget, yt-dlp, youtube-dl, Python MozillaCookieJar, расширения Get cookies.txt7 полей через таб: домен, флаг поддоменов, путь, secure, срок (unix), имя, значение; #HttpOnly_ перед доменом
JSONChrome DevTools, EditThisCookie, Cookie-Editor, Puppeteer/Playwright context.cookies(), Seleniumмассив объектов: name, value, domain, path, expirationDate, httpOnly, secure, sameSite, session; понимает также expires/expiry в секундах или миллисекундах и словарь {"name":"value"}
Headerзаголовок Cookie: в запросе — curl -H, Postman, HTTP-клиенты, трекерыsid=abc; uid=7; _ga=GA1.2… в одну строку; при нескольких доменах — по строке на домен
Set-Cookieответ сервера, DevTools → Network, логипо строке на cookie: name=value; Domain=; Path=; Expires=; Max-Age=; Secure; HttpOnly; SameSite=

Зачем это нужно

Cookies — это ключи от аккаунтов, и переносить их приходится постоянно: из браузера в curl или yt-dlp, из антидетект-профиля в Playwright-скрипт, из ответа API в расширение, чтобы посмотреть кабинет глазами клиента. Каждый инструмент говорит на своём формате, а ручная перебивка семи полей через таб — верный способ получить «cookies не подхватились». Конвертер разбирает вход, приводит всё к единой модели (имя, значение, домен, путь, срок, Secure, HttpOnly, SameSite, сессионная или нет) и отдаёт любой из четырёх форматов без потерь там, где это возможно: например, флаг поддоменов Netscape и hostOnly JSON — одно и то же и переносятся друг в друга, а Max-Age из Set-Cookie превращается в абсолютную дату.

Таблица-превью с фильтром по домену полезна сама по себе: видно, сколько cookies уже истекли (такие расширение всё равно не поставит), какие сессионные (исчезнут при закрытии браузера), где нет HttpOnly и Secure. Статистика считается по реально разобранным записям.

Безопасность: почему это можно делать в браузере

  • Страница не делает сетевых запросов: разбор и сборка выполняются JavaScript-кодом локально, файлы читаются через FileReader, скачивание — через Blob. Можно отключить интернет и убедиться.
  • В отличие от других инструментов NeTools, ввод здесь не запоминается в localStorage: cookies — это пароли, обновили страницу — поле пустое.
  • Тем не менее cookies из чужих рук — риск: файл, скачанный «для проверки», может содержать сессию, а после вставки в браузер сессия становится вашей. Проверяйте домены в таблице, прежде чем импортировать.

Типичные грабли форматов

  • Табы, а не пробелы: cookies.txt требует ровно семь полей через табуляцию; текстовые редакторы заменяют табы пробелами, и curl молча игнорирует строку. Инструмент терпит пробелы на входе, но на выходе всегда даёт табы.
  • Секунды или миллисекунды: Chrome отдаёт expirationDate в секундах с дробной частью, некоторые библиотеки — в миллисекундах; значения больше 1011 инструмент считает миллисекундами и делит на 1000.
  • Header без домена: строка Cookie: не содержит домена, поэтому при конвертации в Netscape или JSON его нужно указать — поле «домен по умолчанию».
  • SameSite в JSON расширений хранится как lax / strict / no_restriction / unspecified, в Set-Cookie — Lax / Strict / None; конвертер переводит в обе стороны.

Частые вопросы

Как конвертировать cookies.txt в JSON?

Вставьте содержимое cookies.txt или перетащите файл, в переключателе выхода выберите JSON — справа появится массив объектов в формате Chrome/EditThisCookie/Cookie-Editor с expirationDate, httpOnly, secure, sameSite. Кнопка «Скачать» отдаст cookies.json.

Как из JSON расширения получить cookies.txt для curl или yt-dlp?

Экспортируйте cookies из Cookie-Editor или EditThisCookie как JSON, вставьте сюда и выберите выход Netscape. Получите корректный файл с семью полями через таб и префиксом #HttpOnly_ для httpOnly-cookies — его понимают curl -b, wget и yt-dlp --cookies.

Отправляются ли мои cookies на сервер?

Нет. Вся конвертация идёт в браузере, страница не делает запросов и не сохраняет ввод даже в localStorage. После закрытия вкладки данных не остаётся.

Что означает «истёкших» в статистике?

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

Почему в header-строке нет доменов и сроков?

Заголовок Cookie: по стандарту содержит только пары name=value для одного хоста — домен, путь и срок браузер не передаёт. Поэтому при конвертации из header в другие форматы укажите домен по умолчанию, а срок у таких cookies будет «сессия».

Понимает ли инструмент cookies из Playwright и Selenium?

Да: JSON с полями expires (Playwright, секунды) или expiry (Selenium) распознаётся так же, как expirationDate из Chrome; объект вида {"cookies": [...]} тоже подходит. Обратно — экспортируйте JSON и передайте в context.addCookies().

свежие базы — в канале Подписаться на канал