Ir para o conteúdo
snowkitDev

URL encode and decode, right in your browser

Encode a single query value or path segment, or a whole address while keeping its slashes and question marks.

Formatar JSON

Verifique, arrume ou ponha em uma linha só

Result
Options
Recuo

Verificado enquanto você digita, neste dispositivo

Decoding turns %20 and %C3%A9 back into text, explains any broken codes, and lists every query parameter of a full address.

Cole respostas de API, tokens e chaves sem preocupação: nada sai desta página.

Dez ferramentas para desenvolvedores em uma página

São as pequenas conversões que aparecem todo dia: arrumar uma resposta de API, transformar uma exportação em planilha, conferir um token, gerar IDs de teste. Cada aba funciona sozinha e mantém a entrada enquanto você troca, e cada aba tem seu próprio endereço, como #jwt ou #regex, para você salvar nos favoritos a que mais usa.

Nada do que você cola é enviado. A página não tem servidor por trás e sua política de segurança bloqueia toda conexão de rede, então tokens, chaves e dados de clientes ficam nesta aba do navegador.

Formatador e validador de JSON

Cole um JSON para verificá-lo e formatá-lo com 2 espaços, 4 espaços ou tabulações, ou minifique-o em uma única linha. Se o JSON não for válido, você recebe a linha e a coluna do problema e uma explicação simples, por exemplo uma vírgula sobrando, uma aspa faltando, aspas simples ou um comentário, que o JSON não permite.

  • Os números ficam exatamente como foram escritos. Muitos formatadores passam o JSON pelo JavaScript, que arredonda 12345678901234567890 para 12345678901234567000 e transforma 1.50 em 1.5. Este mantém cada número caractere por caractere.
  • A ordem das chaves é mantida, inclusive de chaves que parecem números, a menos que você escolha Ordenar chaves.
  • Chaves duplicadas são informadas com o número da linha, porque a maioria dos programas mantém só a última sem avisar.
  • A visualização em árvore mostra a estrutura como pastas que você pode abrir e fechar, o que ajuda com respostas grandes.

JSON para CSV e CSV para JSON

O JSON para CSV pega uma lista de objetos e cria uma linha por objeto. Objetos aninhados são achatados em colunas com caminhos de pontos, então {"stock": {"web": 12}} vira uma coluna chamada stock.web. Listas viram uma coluna por item ou ficam como JSON em uma única célula, e listas e objetos vazios deixam as células vazias. Células que contêm o separador, aspas ou quebras de linha recebem aspas do jeito padrão, com as aspas dobradas, para que Excel, Google Sheets e Numbers as leiam corretamente.

O CSV para JSON detecta se as células são separadas por vírgulas, ponto e vírgula, tabulações ou barras verticais, trata células entre aspas com quebras de linha dentro e transforma colunas com caminho de pontos de volta em objetos aninhados. Números, true, false e células vazias viram valores JSON de verdade. Números com zeros à esquerda, como CEPs e telefones, continuam como texto, assim como números inteiros grandes demais para serem guardados com exatidão.

JSON para YAML e YAML para JSON

A saída YAML coloca entre aspas todo valor que um leitor de YAML poderia interpretar errado: palavras como yes, no, on e off, números de versão como 1.10, números com zeros à esquerda, datas, texto que começa com um caractere especial ou contém dois-pontos seguidos de espaço. Texto de várias linhas é escrito como um bloco legível com |.

O leitor de YAML segue o YAML 1.2, a versão atual, e aceita o que arquivos de configuração reais usam: mapeamentos e listas aninhados, coleções [ ] e { } em linha, texto entre aspas com escapes, blocos | e >, comentários, âncoras e aliases, chaves de mesclagem << e vários documentos separados por ---. Ele não aceita chaves complexas que começam com ?, e tags personalizadas como !Ref são descartadas enquanto os valores são mantidos. Os erros mostram a linha e a coluna.

Codificação Base64, URL e HTML

  • Base64 codifica o texto em UTF-8, então acentos, emojis e outros alfabetos sobrevivem à ida e volta. A decodificação aceita Base64 padrão e seguro para URL, com ou sem preenchimento e quebras de linha. Se os bytes decodificados não forem texto, como uma imagem, você vê que tipo de arquivo é e pode baixá-lo. Um arquivo de até 10 MB pode virar uma data URL para HTML ou CSS.
  • A codificação de URL tem dois escopos. Uma parte codifica tudo o que tem significado em um endereço, o que é certo para um único valor de consulta. Endereço inteiro mantém caracteres como :, /, ? e & e só codifica espaços e outros caracteres inseguros. Um endereço completo é dividido em partes, com cada parâmetro de consulta decodificado.
  • As entidades HTML transformam <, >, & e aspas em texto seguro para HTML, e a decodificação entende todas as entidades nomeadas, como &eacute;, e também as numéricas.

Conversor de Unix timestamp

Um Unix timestamp conta os segundos desde 1º de janeiro de 1970 à meia-noite UTC. Muitos sistemas, incluindo o JavaScript, contam milissegundos, e alguns usam microssegundos ou nanossegundos. Cole um número e a unidade é detectada pela quantidade de dígitos, ou defina você mesmo. Você obtém a data em UTC e em qualquer fuso horário, ISO 8601 com o deslocamento, o formato de data de HTTP e e-mail, o dia do ano, a semana ISO e há quanto tempo ou daqui a quanto tempo é. Também funciona no sentido inverso: digite uma data e hora para obter o timestamp.

Gerador de UUID

Crie até 1.000 UUIDs de uma vez. A versão 4 é totalmente aleatória e é o padrão seguro para a maioria dos usos. A versão 7, definida na RFC 9562, começa com um carimbo de tempo em milissegundos, então os IDs criados depois ficam depois dos anteriores na ordenação, o que serve para chaves de banco de dados. UUIDs criados em um lote mantêm a ordem mesmo dentro do mesmo milissegundo. Cole qualquer UUID em Inspecionar para ver a versão, a variante e, nas versões 1, 6 e 7, quando foi criado.

Gerador de hash

Obtenha de uma vez o hash MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de qualquer texto ou arquivo. Os hashes SHA usam a Web Crypto embutida no seu navegador, e o MD5 é calculado por esta página. Cole uma soma de verificação publicada em Comparar com para conferir se um download chegou intacto: o hash correspondente é marcado, qualquer que seja o algoritmo. O texto passa pelo hash em UTF-8, igual a sha256sum ou openssl em um arquivo com esse texto e sem quebra de linha final.

Gerador de senhas e frases secretas

As senhas são geradas com o gerador de números aleatórios criptográficos do seu navegador, sem viés entre os caracteres. Escolha o tamanho e os tipos de caracteres e deixe de fora os que são fáceis de confundir quando você lê a senha em voz alta ou a digita de um papel. Pelo menos um caractere de cada tipo escolhido é incluído.

Uma frase secreta junta palavras aleatórias de uma lista com cerca de 1.400 palavras curtas e comuns do inglês. Seis palavras aleatórias são mais fáceis de digitar e lembrar do que uma confusão de símbolos e ainda assim muito difíceis de adivinhar. A força mostrada é a entropia em bits, que supõe que um atacante sabe exatamente como a senha foi criada, e o tempo é quanto levaria testar metade de todas as possibilidades a dez bilhões de tentativas por segundo.

Decodificador de JWT

Um JSON Web Token tem três partes: um cabeçalho, um payload de declarações e uma assinatura. Cole um token para ler o cabeçalho e o payload, com os horários exp, nbf e iat mostrados como datas e um aviso claro quando o token expirou ou ainda não é válido.

Decodificar não é verificar. Qualquer pessoa pode criar um token com qualquer payload, então nunca confie no que um token diz até que a assinatura seja conferida. Para tokens assinados com HS256, HS384 ou HS512, informe o segredo compartilhado para conferir a assinatura aqui com a Web Crypto. Tokens assinados com RS256, ES256 e outros métodos de chave pública precisam da chave pública do emissor, e esta página não confere esses.

Testador de regex

Digite uma expressão regular de JavaScript e um texto para ver cada correspondência destacada, com uma tabela de posições, grupos numerados e nomeados e uma prévia ao vivo de uma substituição. Os padrões rodam em um worker de segundo plano separado com limite de tempo, então um padrão que nunca terminaria, como (a+)+$ em uma linha longa de a, é interrompido depois de um segundo e meio e a página continua funcionando.

Privacidade

Não há conta, análise de uso nem servidor por trás desta página, e a página nem tem permissão para fazer requisições de rede. Suas entradas e configurações das abas de JSON, CSV, YAML, codificação e regex ficam guardadas no armazenamento deste navegador para ainda estarem aqui na próxima vez, exceto textos muito longos. JWTs, segredos, entradas de hash e senhas geradas nunca são armazenados. Toque em Limpar em uma aba para remover o que ela guarda.

Perguntas

É seguro colar aqui um token de produção ou uma resposta de API?

Tudo roda nesta aba e nada é enviado a lugar nenhum, então os dados não saem do seu dispositivo. Como com qualquer segredo, feche a aba quando terminar se estiver num computador compartilhado.

Por que meus booleanos de YAML saem como texto?

O YAML 1.2 só lê true e false como booleanos. Ferramentas mais antigas, de YAML 1.1, também leem yes, no, on e off assim, então, quando um desses aparece, você vê um aviso. Coloque o valor entre aspas no YAML para deixar a intenção clara para todas as ferramentas.

Posso verificar tokens RS256?

Ainda não. O decodificador lê os tokens, mas a verificação exige a chave pública do emissor, que esta página não aceita.

Qual sintaxe de regex é usada?

A do JavaScript, embutida no seu navegador, incluindo lookbehind, grupos nomeados e escapes de propriedades Unicode com a flag u. A maioria dos padrões se comporta igual em outras linguagens, mas alguns recursos diferem, como quantificadores possessivos, que o JavaScript não tem.

Para onde ir agora

Continue com o que você acabou de criar, ainda no seu dispositivo.

Mais do Snowkit