Cronômetro on-line gratuito
Cronômetro preciso com tempos parciais. Pressione Espaço para iniciar/parar, L para um tempo parcial.
Atalhos de teclado
- Espaço · iniciar / parar o cronômetro
- L · registrar um tempo parcial
- R · redefinir o cronômetro
Funcionalidades
- Precisão em milissegundos com exibição fluida
- Tempos parciais ilimitados, com destaque do melhor/pior
- Cópia de todos os tempos para a área de transferência para compartilhamento fácil
- Atalhos de teclado para uso sem as mãos
- Funciona offline · nenhuma conexão necessária após o carregamento
Como funciona
- Inicie o cronômetro : clique em Iniciar para ativar o cronômetro, ele mede o tempo decorrido em milissegundos.
- Registre tempos parciais : pressione « Tempo parc. » para registrar splits sem parar o cronômetro principal.
- Pare e redefina : pause a qualquer momento, depois retome ou zere. Os tempos parciais permanecem até a redefinição.
Uma breve história do cronômetro
O cronógrafo mecânico, o ancestral de todo cronômetro moderno, foi inventado por Louis Moinet em 1816. Moinet construiu seu «Compteur de Tierces» para cronometrar o movimento aparente das estrelas pelo céu para observação astronômica; podia medir até 1/60 de segundo, uma precisão extraordinária para a época. O primeiro cronógrafo comercial seguiu cinco anos depois: Nicolas Mathieu Rieussec demonstrou seu cronógrafo «marcador de tinta» nas corridas de cavalo do Champ de Mars de Paris em 1 de setembro de 1821, e depois o patenteou em 1822. O design de Rieussec usava um pequeno reservatório de tinta na ponta do ponteiro de cronometragem; pressionar o botão na partida deixava um ponto de tinta na posição de início, pressionar novamente na parada deixava um segundo ponto, e a distância entre os pontos dava o tempo decorrido. Adolphe Nicole patenteou o cronógrafo de segundos rattrapante (split-second) em 1844, permitindo que dois tempos split fossem medidos simultaneamente, uma inovação crítica para corridas onde múltiplos competidores terminavam com segundos de diferença. O Mikrograph da Heuer (1916) trouxe precisão de 1/100 de segundo aos cronógrafos mecânicos a tempo para os Jogos Olímpicos de Antuérpia de 1920, onde foi usado como cronometrador oficial. A revolução do quartzo chegou com o Astron da Seiko em dezembro de 1969 (o primeiro relógio de pulso de quartzo comercial); ao longo dos anos 1980 o G-Shock (1983) e o F-91W (1989) da Casio tornaram cronômetros de quartzo baratos, duráveis e ubíquos. Relógios atômicos modernos como o NIST-F1 (1999) e o NIST-F2 (2014) alcançam precisão de aproximadamente um segundo em 300 milhões de anos, muito além de qualquer coisa que um relógio de pulso precise, mas o padrão contra o qual toda hora civil é calibrada.
Cronometragem JavaScript, Date.now() vs performance.now() vs requestAnimationFrame
Navegadores expõem três APIs diferentes para medir tempo, cada uma com garantias diferentes. Date.now() retorna milissegundos Unix desde 1 de janeiro de 1970, resolução de milissegundo, mas o relógio do sistema pode saltar (mudanças manuais de hora, correções NTP, cruzamentos de horário de verão) o que a torna pouco confiável para medir tempo decorrido. performance.now() retorna o tempo desde que a página iniciou, em milissegundos com precisão fracionária sub-milissegundo; é monotônica (nunca anda para trás, imune a mudanças de relógio do sistema), que é exatamente o que um cronômetro precisa. Após as divulgações Spectre/Meltdown no início de 2018, navegadores reduziram a precisão padrão de performance.now() de sub-microssegundo para 100 microssegundos (alguns navegadores até 1 milissegundo) para mitigar ataques de canal lateral por temporização; páginas cross-origin-isolated ainda podem obter resolução de 5 microssegundos se o site optar via cabeçalhos Cross-Origin-Opener-Policy e Cross-Origin-Embedder-Policy. Para um cronômetro, a precisão padrão pós-Spectre é mais que suficiente, humanos não percebem diferenças de timing mais finas que cerca de 50ms em contexto UI. requestAnimationFrame não é um relógio per se, é um callback que o navegador dispara uma vez por refresh de display (tipicamente 60 vezes por segundo em monitor de 60Hz, 120 em um de 120Hz). Para uma UI de cronômetro, requestAnimationFrame é o que dirige a atualização suave do display; o tempo decorrido em si vem de performance.now(). O padrão padrão: capturar startTime = performance.now() no Start, depois em cada frame de animação computar elapsed = performance.now() - startTime e re-renderizar o display.
O problema do throttling de aba
Uma fonte famosa de bugs em cronômetros baseados em navegador é o throttling de aba em segundo plano. Quando uma aba perde o foco (você muda para outra aba ou janela), navegadores reduzem a frequência com que setTimeout, setInterval e callbacks de requestAnimationFrame disparam, tipicamente fixado em 1 segundo entre chamadas independentemente do intervalo solicitado. Chrome 88 (janeiro de 2021) introduziu um modo «intensive throttling» ainda mais agressivo que reduz a intervalos de 1 minuto após a aba ficar em segundo plano por mais de 5 minutos, para economizar bateria em laptops. Isso quebra qualquer cronômetro que incremente um contador a cada intervalo, o contador fica atrasado. A implementação correta de cronômetro, usada aqui, é computar tempo decorrido como performance.now() - startTime em cada render em vez de incrementar um contador em cada intervalo, a diferença entre dois timestamps é sempre precisa independentemente da frequência com que o render dispara. O display parecerá congelado em uma aba em segundo plano (porque o render não está disparando), mas quando você volta à aba o tempo decorrido é computado corretamente e o display salta para o valor certo. Para cronometragem em segundo plano genuinamente precisa, o padrão Web Worker (executar o timer em uma thread worker, que é throttleada menos agressivamente que a thread principal) é a solução padrão; o cronômetro desta ferramenta é focado em primeiro plano então a abordagem básica performance.now() é suficiente.
Tempo de volta vs tempo split, a distinção que importa aos oficiais olímpicos
Dois conceitos relacionados mas distintos se confundem no falar cotidiano. Um tempo de volta é a duração de uma única volta, o tempo decorrido desde o marcador de volta anterior. Um tempo split é o total acumulado em um checkpoint, o tempo decorrido desde o início. Em um revezamento 4×400m, o tempo de volta de cada corredor é o que ele pessoalmente correu; os tempos split te dizem como a posição acumulada da equipe evoluiu pelas passagens. Em uma maratona, os tempos split de 5K te dizem o pace do corredor em cada checkpoint, enquanto os intervalos volta-a-volta te diriam sua consistência de pace. Sistemas de cronometragem olímpicos mostram ambos lado a lado. Este cronômetro registra ambos: cada entrada de volta mostra o intervalo de volta (apenas esta volta) em uma coluna e o total acumulado (split desde o início) em outra, então você pode comparar consistência ou progresso absoluto conforme o que importa. O botão Volta registra o marcador; pressioná-lo múltiplas vezes durante uma corrida produz uma lista ilimitada de intervalos.
Casos de uso comuns
- Cronometragem de treino e exercício. Intervalos de sprint, prancha, períodos de descanso entre séries, circuitos HIIT. A função volta registra cada intervalo de trabalho; exporte para um log de fitness.
- Cronometragem de cozinha e confeitaria. Uma alternativa mais limpa aos alarmes de telefone quando você precisa cronometrar em vez de alertar. Tempos de volta são úteis para receitas multi-etapa (massa em 8 minutos, molho reduzindo por 12, água da massa por 4).
- Acompanhamento de produtividade. Sessões de trabalho estilo Pomodoro (o Pomodoro Timer é feito especificamente para isso), mas também medições gerais «quanto tempo levou esta tarefa» para orçamento de tempo.
- Jogos e provas em sala de aula. Professores cronometrando respostas de alunos, períodos de réplica de clube de debate, fases de exame.
- Prática de oratória. Cronometragem de ensaio para palestras e apresentações, a maioria das conferências impõe limites de tempo estritos e ensaiar com um cronômetro real é essencial.
- Cronometragem de esportes recreativos. Jogos improvisados onde alguém precisa acompanhar um quarto ou período; encontros informais de atletismo; corridas de quintal.
- Experimentos científicos. Durações de reação, medições de tempo de queda, demos simples de física; a função volta captura tentativas repetidas de forma limpa.
Limites honestos de precisão
Um cronômetro de navegador é preciso a cerca de 10 milissegundos quando rodando em primeiro plano em hardware moderno, ótimo para treinos, cozinha, apresentações, jogos de sala de aula e esportes recreativos. Não é um substituto para: cronometria certificada de atletismo (que usa câmeras photo-finish e sistemas de cronometragem eletrônica dedicados com precisão sub-milissegundo e trilhas de auditoria); cronometragem de volta sincronizada por GPS (motorsport, ciclismo); sistemas de cronometragem de corrida pareados por Bluetooth sem fio; ou qualquer coisa onde o tempo se torne um registro oficial regulado. A precisão de cronometragem da plataforma web foi deliberadamente reduzida após Spectre/Meltdown para mitigar ataques de canal lateral; para uso de cronômetro isso é invisível (humanos não percebem a diferença) mas para medições de benchmark a nível de microssegundo você precisa de cabeçalhos cross-origin-isolated. Para cronometragem de longa duração onde a aba pode perder o foco, espere que o display «congele» em abas em segundo plano mas mostre o tempo decorrido correto quando você voltar, o cálculo usa deltas de timestamp, não intervalos acumulados.
Mantendo a tela ligada, Wake Lock API
Navegadores automaticamente diminuem e eventualmente desligam a tela em dispositivos móveis após um período de inatividade, o que é pouco útil quando você está usando o cronômetro para cronometrar um treino e a tela apaga em pleno meio. A W3C Screen Wake Lock API permite que uma página web peça que a tela fique ligada enquanto a página está em uso, suportada no Chrome desde 84 (julho de 2020), Edge, Opera, e Safari desde 16.4 (março de 2023), com Firefox adicionado em 126 (maio de 2024). Para um cronômetro, o padrão típico é adquirir o wake lock quando o timer inicia e liberá-lo quando o timer para ou a página perde visibilidade; isso evita que a tela apague durante corridas longas sem sobrescrever permanentemente as configurações de display do usuário. Cronômetros mobile-first se beneficiam substancialmente da integração Wake Lock; o caso de uso primeiro-plano desta ferramenta raramente precisa, mas a opção vale a pena saber para cronômetros auto-construídos.
Funcionalidades
- Precisão em milissegundos: exato a 10 ms ou melhor
- Splits de voltas ilimitados, registram tanto intervalos por volta quanto totais acumulados; a melhor/pior volta pode ser destacada de relance.
- Iniciar/Pausar/Retomar: controle completo da reprodução
- Atalhos de teclado: espaço para iniciar/parar, L para uma volta
- Exportar as voltas: copie todos os tempos parciais em texto simples
- Funciona offline · nenhuma conexão necessária após o carregamento
Perguntas frequentes
Quão preciso é o cronometraje?
O display atualiza 10 vezes por segundo (precisão de centésimo de segundo) e o cálculo subjacente usa performance.now(), que é monotônica e precisa a cerca de 100 microssegundos em navegadores modernos (1 milissegundo em algumas configurações após as mitigações Spectre/Meltdown). Para treinos, cozinha, apresentações e esportes recreativos isso é mais que suficiente, humanos não percebem diferenças de timing mais finas que cerca de 50ms em contexto UI. Não um substituto para cronometria regulada de atletismo, cronometragem motorsport sincronizada por GPS, ou qualquer coisa que se torne um registro oficial.
Por que o display congela quando mudo de aba?
Throttling de aba do navegador. Quando uma aba perde o foco, navegadores reduzem a frequência com que requestAnimationFrame e callbacks de timer disparam, tipicamente fixado em 1 segundo entre chamadas, e Chrome 88+ (janeiro de 2021) reduz ainda para 1 minuto após 5 minutos de inatividade para economizar bateria. O display não pode atualizar sem um callback disparado. A boa notícia: o tempo decorrido em si é computado corretamente porque esta ferramenta usa deltas de timestamp (performance.now() - startTime) em vez de intervalos acumulados, quando você volta à aba, o display salta para o tempo decorrido correto. Para cronometragem em segundo plano genuinamente precisa, um padrão Web Worker é a solução padrão.
Como funcionam os tempos de volta?
Pressionar Volta registra dois valores: o intervalo de volta (tempo desde a volta anterior, ou desde o início se for a primeira volta) e o total acumulado (tempo desde o início, também chamado «split»). Ambos são mostrados lado a lado na tabela de voltas. A distinção importa em atletismo: o intervalo de volta te diz a consistência de pace por segmento, o total acumulado te diz o progresso absoluto contra um tempo-alvo. Pressione Volta tantas vezes quantas precisar; não há limite.
Posso pausar sem perder o tempo decorrido?
Sim, Stop pausa o timer no valor atual; clique Start de novo para retomar de onde parou. Reset limpa tudo (tempo decorrido e todos os registros de volta) e volta a zero. A tabela de voltas persiste através de ciclos parar-e-retomar para que você possa revisar e exportar voltas de uma sessão de cronometragem multi-segmento.
Posso manter a tela ligada durante um treino longo?
Para cronometragem esportiva de longa duração em um telefone, o comportamento padrão do navegador é diminuir e eventualmente desligar a tela, o que é pouco útil em pleno meio de treino. A W3C Screen Wake Lock API (Chrome 84+ julho de 2020, Safari 16.4+ março de 2023, Firefox 126+ maio de 2024) permite que uma página web peça que a tela fique ligada enquanto em uso. Este cronômetro não invoca atualmente Wake Lock automaticamente, por enquanto, a solução de contorno é ajustar manualmente o timeout de desligamento de tela do seu telefone, ou usar o app nativo de cronômetro do dispositivo para uso esportivo de longa duração.
Meus dados de cronometragem são enviados a algum lugar?
Não. O cronômetro roda inteiramente no seu navegador. Seus dados de cronometragem, hora de início, tempos de volta, valor decorrido atual, nunca cruzam a rede. Verifique na aba Network do DevTools enquanto o cronômetro roda, ou coloque a página offline (modo avião) após carregar e o cronômetro continua funcionando perfeitamente. Útil para qualquer contexto de cronometragem onde a confidencialidade importa: testes esportivos em pista fechada, benchmarking de performance interno, etc.