Conversor de timestamp Unix

Transforme um timestamp Unix em data legível, em UTC e no seu fuso horário, ou faça o caminho inverso a partir de uma data ISO 8601. A unidade é detectada automaticamente: segundos, milissegundos, microssegundos ou nanossegundos.

Timestamp → data
Data → timestamp
Resultado

Como usar

  1. Para converter um número em data, cole o timestamp no primeiro campo e clique em Converter em data. Deixe a unidade em Detectar automaticamente ou escolha uma.
  2. Para ver o timestamp de agora, clique em Usar o momento atual.
  3. Para converter uma data em número, digite-a no formato ISO 8601 no segundo campo e clique em Converter em timestamp.
  4. Se a data não tiver fuso, escolha se ela deve ser lida como UTC ou como o seu horário local.

Exemplos

EntradaUnidade detectadaResultado em UTC
0segundos1970-01-01T00:00:00.000Z
1700000000segundos2023-11-14T22:13:20.000Z
1772893800000milissegundos2026-03-07T14:30:00.000Z
-86400segundos1969-12-31T00:00:00.000Z

No sentido inverso, estas três datas representam o mesmo instante e geram o mesmo timestamp, 1772893800:

2026-03-07T14:30:00Z
2026-03-07T11:30:00-03:00
2026-03-07T20:00:00+05:30

Como funciona

Um timestamp Unix é a quantidade de tempo passada desde 1º de janeiro de 1970, 00:00:00 UTC (a “época Unix”). Ele não tem fuso: o mesmo número representa o mesmo instante no mundo todo. O fuso só entra quando o instante é exibido como data e hora.

Como sistemas diferentes usam unidades diferentes, a ferramenta decide pela magnitude do número:

Valor absolutoUnidade assumidaOnde costuma aparecer
menor que 1011 (até 11 dígitos)segundosUnix, PHP, Python time.time(), claims de JWT
de 1011 a 1014milissegundosJavaScript Date.now(), Java System.currentTimeMillis()
de 1014 a 1017microssegundosPostgreSQL, alguns sistemas de log
a partir de 1017nanossegundosGo UnixNano(), OpenTelemetry

Essa regra é uma heurística. Um timestamp em segundos de datas além do ano 5138, ou em milissegundos de 1973 para trás, seria classificado na unidade errada; nesses casos escolha a unidade manualmente.

Na conversão de data para timestamp, a ferramenta valida o calendário de verdade (30 de fevereiro ou 25 horas são recusados), em vez de deixar o navegador “ajustar” silenciosamente a data, como o Date do JavaScript costuma fazer.

Uso em QA e desenvolvimento

  • Ler campos de data numéricos em respostas de API, eventos e mensagens de fila.
  • Conferir os claims exp, iat e nbf de um JWT, que são em segundos.
  • Montar massa de testes com datas exatas: vencimento hoje, ontem, daqui a 30 dias.
  • Investigar bugs de fuso horário, comparando o instante em UTC e no horário local.
  • Correlacionar logs de serviços que gravam o tempo em unidades diferentes.

Erros comuns com timestamps

  • Misturar segundos e milissegundos: um timestamp em segundos lido como milissegundos vira uma data de janeiro de 1970.
  • Data sem fuso: “2026-03-07 14:30” é ambígua. Cada sistema pode interpretá-la como UTC ou como horário local.
  • Horário de verão: em fusos que adotam horário de verão, uma hora local pode não existir ou acontecer duas vezes no dia da mudança.
  • Formato dd/mm/aaaa: não é ISO 8601 e é confundido com mm/dd/aaaa em sistemas em inglês.

Limitações

  • A precisão exibida vai até milissegundos. Micro e nanossegundos são convertidos, mas a fração abaixo de 1 ms é descartada.
  • O intervalo suportado é o do objeto Date dos navegadores: ±8,64 × 1015 ms em torno de 1970.
  • Segundos bissextos não são representados, assim como no próprio tempo Unix.
  • O horário local usa o fuso configurado no seu sistema operacional.

Perguntas frequentes

O timestamp muda conforme o fuso horário?

Não. O timestamp identifica um instante único. Quem muda é a representação em data e hora: 1772893800 é 14:30 em UTC e 11:30 em Brasília.

O que é o problema do ano 2038?

Sistemas que guardam o timestamp em segundos num inteiro de 32 bits com sinal estouram em 19 de janeiro de 2038, às 03:14:07 UTC (2147483647). Vale testar campos de data com valores além desse limite.

Timestamps negativos são válidos?

Sim. Eles representam instantes anteriores a 1970. -86400 é 31 de dezembro de 1969, 00:00 UTC.

Por que meu timestamp de 13 dígitos virou uma data estranha em outro sistema?

Provavelmente o outro sistema esperava segundos. Um valor com 13 dígitos está em milissegundos; divida por 1000.

Ferramentas relacionadas

Referências