Cronometro online gratuito
Cronometro preciso con tempi intermedi. Premi Spazio per avviare/fermare, L per un tempo intermedio.
Scorciatoie da tastiera
- Spazio · avvia / ferma il cronometro
- L · registra un tempo intermedio
- R · reimposta il cronometro
Funzionalità
- Precisione al millisecondo con visualizzazione fluida
- Tempi intermedi illimitati, con evidenziazione del migliore/peggiore
- Copia di tutti i tempi negli appunti per una facile condivisione
- Scorciatoie da tastiera per un uso a mani libere
- Funziona offline · nessuna connessione necessaria dopo il caricamento
Come funziona
- Avvia il cronometro: clicca su Avvia per lanciare il cronometro, misura il tempo trascorso al millisecondo.
- Registra tempi intermedi: premi «Tempo interm.» per registrare split senza fermare il cronometro principale.
- Ferma e reimposta: metti in pausa in qualsiasi momento, poi riprendi o azzera. I tempi intermedi restano fino al reset.
Una breve storia del cronometro
Il cronografo meccanico, l'antenato di ogni cronometro moderno, è stato inventato da Louis Moinet nel 1816. Moinet ha costruito il suo "Compteur de Tierces" per cronometrare il moto apparente delle stelle attraverso il cielo per l'osservazione astronomica; poteva misurare fino a 1/60° di secondo, una precisione straordinaria per l'epoca. Il primo cronografo commerciale è seguito cinque anni dopo: Nicolas Mathieu Rieussec ha dimostrato il suo cronografo a "macchia d'inchiostro" alle corse di cavalli del Champ de Mars di Parigi il 1° settembre 1821, poi lo ha brevettato nel 1822. Il design di Rieussec usava un piccolo serbatoio di inchiostro sulla punta della lancetta di cronometraggio; premere il pulsante all'inizio lasciava cadere una macchia di inchiostro nella posizione di partenza, premere di nuovo all'arresto lasciava cadere una seconda macchia, e la distanza tra le macchie dava il tempo trascorso. Adolphe Nicole ha brevettato il cronografo split-second (rattrapante) nel 1844, permettendo di misurare simultaneamente due tempi parziali, un'innovazione critica per le gare in cui più concorrenti finivano entro secondi. Il Mikrograph di Heuer (1916) ha portato la precisione di 1/100° di secondo ai cronografi meccanici in tempo per le Olimpiadi di Anversa del 1920, dove è stato usato come cronometrista ufficiale. La rivoluzione del quarzo è arrivata con l'Astron di Seiko nel dicembre 1969 (il primo orologio da polso al quarzo commerciale); negli anni 1980 il G-Shock di Casio (1983) e l'F-91W (1989) hanno reso i cronometri al quarzo economici, durevoli e onnipresenti. Gli orologi atomici moderni come NIST-F1 (1999) e NIST-F2 (2014) raggiungono una precisione di circa un secondo in 300 milioni di anni, ben oltre quello di cui ha bisogno un orologio da polso, ma lo standard rispetto al quale tutto il tempo civile è calibrato.
Timing JavaScript, Date.now() vs performance.now() vs requestAnimationFrame
I browser espongono tre diverse API per misurare il tempo, ciascuna con garanzie diverse. Date.now() restituisce i millisecondi Unix dal 1° gennaio 1970, risoluzione al millisecondo, ma l'orologio di sistema può saltare (cambi di ora manuali, correzioni NTP, passaggi all'ora legale) il che lo rende inaffidabile per la misurazione del tempo trascorso. performance.now() restituisce il tempo dall'avvio della pagina, in millisecondi con precisione frazionaria sub-millisecondo; è monotonico (non va mai indietro, immune ai cambiamenti dell'orologio di sistema), che è esattamente ciò che un cronometro necessita. Dopo le divulgazioni Spectre/Meltdown all'inizio del 2018, i browser hanno ridotto la precisione predefinita di performance.now() da sub-microsecondo a 100 microsecondi (alcuni browser fino a 1 millisecondo) per mitigare gli attacchi di timing-side-channel; le pagine cross-origin-isolated possono ancora ottenere una risoluzione di 5 microsecondi se il sito opta tramite header Cross-Origin-Opener-Policy e Cross-Origin-Embedder-Policy. Per un cronometro, la precisione predefinita post-Spectre è più che sufficiente, gli umani non possono percepire differenze di timing più fini di circa 50ms in un contesto UI. requestAnimationFrame non è un orologio di per sé, è un callback che il browser attiva una volta per ogni refresh del display (tipicamente 60 volte al secondo su un monitor a 60Hz, 120 a 120Hz). Per un'UI di cronometro, requestAnimationFrame è ciò che guida l'aggiornamento fluido del display; il tempo trascorso stesso viene da performance.now(). Il pattern standard: cattura startTime = performance.now() all'avvio, poi a ogni frame di animazione calcola elapsed = performance.now() - startTime e ri-renderizza il display.
Il problema del tab-throttling
Una famosa fonte di bug nei cronometri basati su browser è il throttling dei tab in background. Quando un tab perde il focus (passi a un altro tab o finestra), i browser riducono la frequenza con cui vengono attivati i callback di setTimeout, setInterval e requestAnimationFrame, tipicamente bloccando a 1 secondo tra le chiamate indipendentemente dall'intervallo richiesto. Chrome 88 (gennaio 2021) ha introdotto una modalità di "throttling intensivo" ancora più aggressiva che riduce a intervalli di 1 minuto dopo che il tab è stato in background per 5+ minuti, per risparmiare batteria sui laptop. Questo rompe qualsiasi cronometro che incrementa un contatore a ogni intervallo, il contatore rimane indietro. L'implementazione corretta del cronometro, usata qui, è calcolare il tempo trascorso come performance.now() - startTime a ogni render piuttosto che incrementare un contatore a ogni intervallo, la differenza tra due timestamp è sempre accurata indipendentemente da quanto spesso il render si attiva. Il display sembrerà congelato su un tab in background (perché il render non si attiva), ma quando torni al tab il tempo trascorso è calcolato correttamente e il display salta al valore giusto. Per timing in background realmente accurato, il pattern Web Worker (eseguire il timer in un thread worker, che è throttled meno aggressivamente del thread principale) è la soluzione standard; il cronometro di questo strumento è focalizzato sul foreground quindi l'approccio base con performance.now() è sufficiente.
Tempo del lap vs tempo split, la distinzione a cui i giudici olimpici tengono
Due concetti correlati ma distinti vengono confusi nel linguaggio quotidiano. Un tempo del lap è la durata di un singolo lap, il tempo trascorso dal precedente marcatore di lap. Un tempo split è il totale cumulativo a un checkpoint, il tempo trascorso dall'inizio. In una staffetta 4×400m, il tempo del lap di ogni corridore è quello che ha personalmente corso; i tempi split ti dicono come la posizione cumulativa della squadra è evoluta attraverso i passaggi di testimone. In una maratona, i tempi split a 5K ti dicono il ritmo del corridore a ogni checkpoint, mentre gli intervalli lap-by-lap ti direbbero la coerenza del loro ritmo. I sistemi di cronometraggio olimpici visualizzano entrambi affiancati. Questo cronometro registra entrambi: ogni voce di lap mostra l'intervallo del lap (solo questo lap) in una colonna e il totale cumulativo (split dall'inizio) in un'altra, così puoi confrontare la coerenza o il progresso assoluto a seconda di quello che ti interessa. Il pulsante Lap registra il marcatore; premerlo più volte durante una singola esecuzione produce una lista illimitata di intervalli.
Casi d'uso comuni
- Cronometraggio di workout ed esercizi. Intervalli di sprint, plank, periodi di riposo tra le serie, circuiti HIIT. La funzione lap registra ogni intervallo di lavoro; esporta in un registro fitness.
- Cronometraggio per cucinare e cuocere. Un'alternativa più pulita alle sveglie del telefono quando hai bisogno di cronometraggio piuttosto che di allerta. I tempi del lap sono utili per ricette multi-fase (pasta in 8 minuti, salsa che si riduce per 12, acqua per la pasta per 4).
- Tracking della produttività. Sessioni di lavoro in stile Pomodoro (il Pomodoro Timer è progettato apposta per questo), ma anche misurazioni generali "quanto tempo è durato questo compito" per il time-budgeting.
- Giochi in classe e test. Insegnanti che cronometrano le risposte degli studenti, periodi di replica per club di dibattito, fasi d'esame.
- Pratica di public speaking. Cronometraggio delle prove per discorsi e presentazioni, la maggior parte delle conferenze impone limiti di tempo rigorosi e provare con un vero cronometro è essenziale.
- Cronometraggio sportivo ricreativo. Partite improvvisate dove qualcuno ha bisogno di tracciare un quarto o un periodo; incontri informali di atletica; gare in giardino.
- Esperimenti scientifici. Durate di reazione, misurazioni di drop-time, semplici demo di fisica; la funzione lap cattura prove ripetute in modo pulito.
Limiti onesti di accuratezza
Un cronometro browser è accurato a circa 10 millisecondi quando gira in primo piano su hardware moderno, bene per workout, cucina, presentazioni, giochi in classe e sport ricreativi. Non è un sostituto per: cronometria atletica certificata (che usa fotocamere photo-finish e sistemi di cronometraggio elettronico dedicati con accuratezza sub-millisecondo e audit trail); cronometraggio lap sincronizzato GPS (motorsport, ciclismo); sistemi di cronometraggio per gare con accoppiamento wireless Bluetooth; o qualsiasi cosa in cui il tempo diventa un record ufficiale regolamentato. La precisione di timing della piattaforma web è stata deliberatamente ridotta dopo Spectre/Meltdown per mitigare gli attacchi side-channel; per l'uso del cronometro questo è invisibile (gli umani non possono percepire la differenza) ma per misurazioni di benchmark a livello microsecondo hai bisogno degli header cross-origin-isolated. Per timing di lunga durata dove il tab potrebbe perdere il focus, aspettati che il display si "congeli" sui tab in background ma mostri il tempo trascorso corretto quando torni, il calcolo usa delta di timestamp, non intervalli accumulati.
Tenere lo schermo acceso, Wake Lock API
I browser oscurano automaticamente e infine spengono lo schermo sui dispositivi mobili dopo un periodo di inattività, il che è poco utile quando stai usando il cronometro per cronometrare un workout e lo schermo si oscura a metà esecuzione. La W3C Screen Wake Lock API permette a una pagina web di richiedere che lo schermo rimanga acceso mentre la pagina è in uso, supportata in Chrome dalla 84 (luglio 2020), Edge, Opera e Safari dalla 16.4 (marzo 2023), con Firefox aggiunto nella 126 (maggio 2024). Per un cronometro, il pattern tipico è acquisire il wake lock quando il timer parte e rilasciarlo quando il timer si ferma o la pagina perde visibilità; questo previene l'oscuramento dello schermo durante esecuzioni lunghe senza sovrascrivere permanentemente le impostazioni display dell'utente. I cronometri mobile-first beneficiano sostanzialmente dell'integrazione Wake Lock; il caso d'uso foreground di questo strumento raramente ne ha bisogno, ma l'opzione vale la pena conoscere per cronometri auto-costruiti.
Funzionalità
- Precisione al millisecondo, esatto a 10 ms o meglio
- Lap split illimitati, registra sia gli intervalli per-lap che i totali cumulativi; il lap migliore/peggiore può essere evidenziato a colpo d'occhio.
- Avvia/Pausa/Riprendi, controllo completo della riproduzione
- Scorciatoie da tastiera, spazio per avviare/fermare, L per un giro
- Esporta i giri, copia tutti i tempi intermedi in testo semplice
- Funziona offline · nessuna connessione necessaria dopo il caricamento
Domande frequenti
Quanto preciso è il timing?
Il display si aggiorna 10 volte al secondo (precisione al centisecondo) e il calcolo sottostante usa performance.now(), che è monotonico e accurato a circa 100 microsecondi nei browser moderni (1 millisecondo su alcune configurazioni dopo le mitigazioni Spectre/Meltdown). Per workout, cucina, presentazioni e sport ricreativi questo è più che sufficiente, gli umani non possono percepire differenze di timing più fini di circa 50ms in un contesto UI. Non è un sostituto per la cronometria atletica regolamentata, il cronometraggio motorsport sincronizzato GPS, o qualsiasi cosa che diventa un record ufficiale.
Perché il display si congela quando cambio tab?
Throttling dei tab del browser. Quando un tab perde il focus, i browser riducono la frequenza con cui vengono attivati i callback di requestAnimationFrame e timer, tipicamente bloccando a 1 secondo tra le chiamate, e Chrome 88+ (gennaio 2021) riduce ulteriormente a 1 minuto dopo 5 minuti di inattività per risparmiare batteria. Il display non può aggiornarsi senza un callback attivato. La buona notizia: il tempo trascorso stesso è calcolato correttamente perché questo strumento usa delta di timestamp (performance.now() - startTime) piuttosto che intervalli accumulati, quando torni al tab, il display salta al tempo trascorso corretto. Per timing in background realmente accurato, un pattern Web Worker è la soluzione standard.
Come funzionano i tempi del lap?
Premere Lap registra due valori: l'intervallo del lap (tempo dal precedente lap, o dall'inizio se è il primo lap) e il totale cumulativo (tempo dall'inizio, anche chiamato uno "split"). Entrambi sono mostrati affiancati nella tabella dei lap. La distinzione conta nell'atletica: l'intervallo del lap ti dice la coerenza del ritmo per-segmento, il totale cumulativo ti dice il progresso assoluto rispetto a un tempo target. Premi Lap quante volte ti serve; non c'è limite.
Posso mettere in pausa senza perdere il tempo trascorso?
Sì, Stop mette in pausa il timer al valore attuale; clicca di nuovo Start per riprendere da dove ti sei fermato. Reset cancella tutto (tempo trascorso e tutti i record dei lap) e torna a zero. La tabella dei lap persiste attraverso i cicli stop-and-resume così puoi rivedere ed esportare i lap da una sessione di cronometraggio multi-segmento.
Posso tenere lo schermo acceso durante un workout lungo?
Per il cronometraggio sportivo di lunga durata su un telefono, il comportamento predefinito del browser è oscurare e infine spegnere lo schermo, il che è poco utile a metà workout. La W3C Screen Wake Lock API (Chrome 84+ luglio 2020, Safari 16.4+ marzo 2023, Firefox 126+ maggio 2024) permette a una pagina web di richiedere che lo schermo rimanga acceso mentre è in uso. Questo cronometro attualmente non invoca Wake Lock automaticamente, per ora, la soluzione è regolare manualmente il timeout di sleep dello schermo del tuo telefono, o usare l'app cronometro nativa del dispositivo per uso sportivo di lunga durata.
I miei dati di timing vengono inviati da qualche parte?
No. Il cronometro gira interamente nel tuo browser. I tuoi dati di timing, tempo di start, tempi dei lap, valore trascorso attuale, non attraversano mai la rete. Verifica nel tab Network di DevTools mentre il cronometro gira, o porta la pagina offline (modalità aereo) dopo che si carica e il cronometro funziona ancora perfettamente. Utile per qualsiasi contesto di cronometraggio dove la riservatezza conta: prove sportive a pista chiusa, benchmarking di prestazioni interno, ecc.