Como exportar cookies do Chrome para JSON

TL;DR: Para exportar cookies do Chrome para JSON, instale o CookieVault Editor, clique em Export e escolha JSON (ou Netscape cookies.txt para curl/wget). O Chrome DevTools não tem um recurso embutido de exportação. Para exportações automatizadas em CI/CD, use page.cookies() do Puppeteer ou context.cookies() do Playwright.

Exportar cookies do Chrome para JSON é o processo de serializar o repositório de cookies do navegador em um arquivo estruturado que pode ser feito backup, compartilhado, importado em outro perfil de navegador ou alimentado para ferramentas de linha de comando como curl e wget. O painel Application do Chrome DevTools permite visualizar e editar cookies, mas não oferece um botão de exportação — uma extensão Manifest V3 ou um script de navegador headless é necessário para a exportação estruturada1. Este guia cobre três métodos em ordem de praticidade para fluxos diferentes.

Comparação rápida: métodos de exportação

Em resumo: Use uma extensão Manifest V3 para exportações interativas de um clique. Use Puppeteer ou Playwright para exportações automatizadas em pipelines de CI/CD. Use o console do DevTools para coletas pontuais rápidas quando você não puder instalar uma extensão, sabendo que os cookies HttpOnly vão faltar.

MétodoExporta cookies HttpOnlyFormato de saídaSuporte a automaçãoExige extensão
CookieVault Editor (extensão)SimJSON, Netscape, HARNão (clique manual)Sim
Puppeteer page.cookies()SimJSON (via JSON.stringify)Sim (scriptável, CI-ready)Não (Chrome headless)
Playwright context.cookies()SimJSON (via JSON.stringify)Sim (scriptável, CI-ready)Não (Chromium headless)
Console do DevTools document.cookieNão (perde HttpOnly)String crua (parsing manual)NãoNão
Exportação HAR pelo DevTools NetworkParcial (em cabeçalhos de requisição)HARNãoNão

Segundo a documentação do Chrome DevTools, a tabela de cookies do painel Application é projetada para inspeção e edição, não para exportação de dados1. O painel Network consegue exportar arquivos HAR completos que incluem cabeçalhos de cookie, mas extrair cookies individuais de um HAR exige pós-processamento.

Método 1: CookieVault Editor (recomendado)

Em resumo: O CookieVault Editor exporta cookies a partir de um popup na barra de ferramentas em três formatos — JSON para dados estruturados, Netscape cookies.txt para curl/wget e HAR para arquivos completos de requisição. Um clique por exportação, incluindo cookies HttpOnly.

O fluxo de exportação de oito passos:

  1. Decida quais cookies exportar — determine se você precisa de uma exportação por domínio único (por exemplo, staging.example.com) ou de uma exportação completa do navegador. Exportações por domínio único são menores e mais seguras para compartilhar; exportações completas capturam todo o seu estado de sessão.
  2. Escolha um formato de exportação — JSON para uso programático e reimportação. Netscape cookies.txt para curl -b e wget --load-cookies. HAR para arquivos completos de requisição incluindo cabeçalhos e corpos de resposta.
  3. Instale o CookieVault Editor — instale pela Chrome Web Store. A extensão pede a permissão cookies para acessar o repositório de cookies completo, incluindo cookies HttpOnly.
  4. Abra o popup da extensão — clique no ícone do CookieVault Editor na barra de ferramentas. O popup mostra todos os cookies do domínio atual. Clique em “All cookies” para ver todo cookie no navegador.
  5. Clique em Export — o seletor de formato aparece. Selecione JSON, Netscape cookies.txt ou HAR.
  6. Salve o arquivo — o Chrome abre um diálogo de salvar arquivo. Escolha um local e nome.
  7. Verifique a exportação — abra o arquivo em um editor de texto ou visualizador de JSON. Confirme que os cookies esperados estão presentes e que os cookies HttpOnly estão incluídos.
  8. Use o arquivo exportado — alimente para sua ferramenta downstream: curl -b cookies.txt, context.addCookies() do Playwright ou a função Import do CookieVault Editor para transferência de sessão entre perfis.

Importante: Arquivos de exportação de cookies contêm tokens de autenticação. Trate-os como senhas — não faça commit em controle de versão, não os compartilhe por canais não criptografados e apague-os quando não forem mais necessários.

Método 2: Puppeteer ou Playwright (automatizado)

Em resumo: Para pipelines de CI/CD, geração de fixtures de teste e fluxos scriptados, page.cookies() do Puppeteer e context.cookies() do Playwright retornam o array de cookies como JSON. Os dois incluem cookies HttpOnly. Grave a saída em um arquivo com JSON.stringify.

Um script mínimo de exportação Puppeteer:

const puppeteer = require('puppeteer');
const fs = require('fs');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  // Autentique se necessário (page.type, page.click, etc.)
  const cookies = await page.cookies();
  fs.writeFileSync('cookies.json', JSON.stringify(cookies, null, 2));
  await browser.close();
})();

A abordagem equivalente com Playwright:

const { chromium } = require('playwright');
const fs = require('fs');

(async () => {
  const browser = await chromium.launch();
  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://example.com');
  const cookies = await context.cookies();
  fs.writeFileSync('cookies.json', JSON.stringify(cookies, null, 2));
  await browser.close();
})();

Os dois métodos retornam um array de objetos de cookie com campos tipados: name, value, domain, path, expires (timestamp Unix), httpOnly, secure, sameSite. A saída é diretamente compatível com context.addCookies() para reimportação.

Método 3: Console do DevTools (limitado)

Em resumo: Rodar document.cookie no console do DevTools retorna uma string separada por ponto e vírgula com pares name=value dos cookies do domínio atual. Esse método é rápido, mas incompleto — cookies HttpOnly são excluídos e os metadados (expiração, flags, path) se perdem.

A abordagem com document.cookie funciona como uma alternativa rápida quando você não pode instalar uma extensão:

  1. Abra o DevTools (F12) → aba Console
  2. Digite document.cookie e pressione Enter
  3. Copie a string de saída
  4. Faça o parse manualmente ou use um script para dividir por ; e depois por =

Esse método tem três limitações significativas:

  • Cookies HttpOnly são invisíveis para o JavaScript — são excluídos de document.cookie
  • Os metadados do cookie (expiração, SameSite, Secure, HttpOnly, Path, Domain) não são incluídos
  • Cookies de terceiros definidos por outros domínios não são acessíveis do contexto JavaScript da página atual

Para qualquer coisa além de uma verificação rápida, use o Método 1 ou o Método 2.

Referência de formatos de exportação

Em resumo: JSON e Netscape são os dois formatos de exportação mais comuns. JSON preserva todos os metadados e é reimportável. Netscape é um formato legado projetado para compatibilidade com curl/wget. HAR é um arquivo de requisição completo que inclui cookies como parte dos cabeçalhos HTTP.

Formato JSON

[
  {
    "name": "session_id",
    "value": "abc123def456",
    "domain": ".example.com",
    "path": "/",
    "expires": 1756252800,
    "httpOnly": true,
    "secure": true,
    "sameSite": "Lax"
  }
]

Vantagens do JSON:

  • Campos tipados (boolean para flags, número para expiração)
  • Diretamente compatível com addCookies() de Puppeteer/Playwright
  • Validável por schema
  • Legível por humanos e diffável
  • Suporta estruturas aninhadas para agrupar por domínio

Formato Netscape cookies.txt

# Netscape HTTP Cookie File
.example.com	TRUE	/	TRUE	1756252800	session_id	abc123def456

Cada linha tem sete campos separados por tab: domain, incluir subdomínios (TRUE/FALSE), path, secure (TRUE/FALSE), expiração (timestamp Unix), name, value.

Vantagens do Netscape:

  • Compatibilidade direta com curl -b e wget --load-cookies
  • Tamanho de arquivo compacto
  • Suportado por praticamente toda ferramenta HTTP de linha de comando
  • Simples de fazer parse com scripts de shell (awk, cut)

Quando usar cada formato

Caso de usoFormato recomendado
Backup e restauração entre perfis de navegadorJSON
Alimentar cookies para curl ou wgetNetscape cookies.txt
Compartilhar fixtures de teste com o time de QAJSON
Arquivar requisição/resposta completas para depuraçãoHAR
Automatizar em CI/CD com Puppeteer/PlaywrightJSON
Importar no Postman ou no InsomniaJSON (via import de coleção)

Considerações de segurança para cookies exportados

Em resumo: Arquivos de exportação de cookies são artefatos equivalentes a credenciais. Um arquivo de cookies de sessão vazado dá a qualquer pessoa acesso total às suas sessões autenticadas. Trate-os com o mesmo cuidado que senhas e chaves de API.

Seis regras de segurança para lidar com arquivos de cookies exportados:

  • Nunca faça commit de arquivos de exportação de cookies em controle de versão — adicione *.cookies.json e cookies.txt ao .gitignore
  • Não compartilhe exportações por canais não criptografados (e-mail, DMs do Slack sem criptografia E2E, Pastebin público)
  • Apague os arquivos de exportação quando não forem mais necessários — os cookies de sessão em um arquivo continuam válidos até o servidor expirar a sessão
  • Restrinja as permissões de arquivo em máquinas de desenvolvimento compartilhadas (chmod 600 cookies.json no Linux/Mac)
  • Ao compartilhar fixtures de teste, substitua os valores reais de sessão por tokens de placeholder e documente a substituição
  • Se um arquivo de exportação vazar por acidente, invalide imediatamente todas as sessões afetadas saindo dos sites e trocando as senhas

Essas precauções valem igualmente para JSON, Netscape e HAR — os três contêm os valores brutos de cookie que autenticam suas sessões.

Veja também


Footnotes

  1. A documentação oficial do Chrome DevTools para inspeção e edição de cookies está em https://developer.chrome.com/docs/devtools/storage/cookies. O painel Application exibe cookies em uma tabela com edição inline, mas não inclui uma função de exportação. A exportação HAR do painel Network inclui cookies como parte dos cabeçalhos de requisição, mas exige pós-processamento para extrair registros individuais de cookie. 2

Última atualização:

Autor: Lena Park · Revisado por: Marcus Reiter