Как пользоваться
- Вставьте cookies или перетащите файл
cookies.txt/.json— формат входа определится автоматически (можно указать вручную в селекте «Вход»). - Выберите формат выхода: Netscape, JSON, Header или Set-Cookie — результат пересчитается сразу.
- Если на входе header-строка или Set-Cookie без
Domain, заполните домен по умолчанию — иначе в cookies.txt не будет домена и curl их не отправит. - В таблице ниже проверьте домены, пути, срок жизни и флаги Secure/HttpOnly; истёкшие подсвечены янтарём, фильтр ищет по домену и имени.
- Копировать или Скачать (
.txtдля Netscape/header,.jsonдля JSON). Ничего не сохраняется — закрыли вкладку, данных нет.
Какие форматы поддерживаются
| Формат | Кто использует | Как выглядит |
|---|---|---|
| Netscape (cookies.txt) | curl -b, wget, yt-dlp, youtube-dl, Python MozillaCookieJar, расширения Get cookies.txt | 7 полей через таб: домен, флаг поддоменов, путь, secure, срок (unix), имя, значение; #HttpOnly_ перед доменом |
| JSON | Chrome 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().