Ir para o conteúdo
snowkitDev

Convert Unix timestamps, in any time zone

Paste a timestamp to see the date in UTC and in any time zone, with ISO 8601, the HTTP date format, the ISO week and how long ago it was.

Formatar JSON

Verifique, arrume ou ponha em uma linha só

Result
Options
Recuo

Verificado enquanto você digita, neste dispositivo

Seconds, milliseconds and longer units are detected from the number of digits, and typing a date gives you the timestamp.

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