Cronómetro Online con Vueltas y Precisión de Milisegundos
Dato clave antes de empezar
Este cronómetro usa performance.now(), el reloj de alta resolución del navegador, en lugar del clásico Date.now(). La diferencia no es cosmética: Date.now() puede saltar hacia adelante o atrás si el sistema operativo ajusta la hora (sincronización NTP, cambio de huso horario), mientras performance.now() es monótono y nunca retrocede. Para cronometrar un entrenamiento, una receta o un experimento, esa diferencia evita errores acumulados de décimas de segundo en sesiones largas.
🧮 Cronómetro interactivo
¿Cómo funciona un cronómetro online por dentro?
Un cronómetro de software no mide el tiempo de forma continua: toma dos lecturas del reloj del sistema y calcula la diferencia. La calidad del resultado depende del reloj que se consulte. Los navegadores exponen dos relojes distintos, y confundirlos es el error más común al programar un cronómetro web.
| Reloj | Origen | Comportamiento | Uso recomendado |
|---|---|---|---|
Date.now() | Reloj del sistema operativo | Puede saltar (NTP, huso horario, cambio manual) | Marcas de tiempo (timestamps), fechas |
performance.now() | Reloj monótono de alta resolución | Nunca retrocede, resolución sub-milisegundo | Cronómetros, medición de rendimiento |
Este cronómetro guarda el instante de inicio con performance.now() y recalcula el tiempo transcurrido en cada actualización restando ese instante al valor actual del mismo reloj. La visualización se refresca cada 30 milisegundos aproximadamente, pero el valor mostrado nunca depende de la frecuencia de refresco: es siempre la resta exacta de dos lecturas del reloj monótono, la derivada del tiempo real respecto al tiempo del sistema sin saltos.
¿Un cronómetro y un temporizador son lo mismo?
No. Un cronómetro cuenta hacia adelante desde cero y mide cuánto tiempo ha pasado (propósito: medir una duración). Un temporizador (o cuenta atrás) empieza en un valor fijo y cuenta hacia cero para avisar cuando se alcanza ese límite (propósito: alertar al terminar un plazo).
| Característica | Cronómetro | Temporizador |
|---|---|---|
| Dirección | 0 → arriba | Valor fijo → 0 |
| Objetivo | Medir cuánto dura algo | Avisar cuando se cumple un plazo |
| Ejemplo típico | Vuelta de atletismo, tiempo de estudio | Horno, Pomodoro, examen |
| Necesita alarma sonora | Rara vez | Casi siempre |
Esta herramienta es un cronómetro puro: cuenta hacia adelante y permite registrar vueltas. Para una cuenta atrás con alarma, se necesita un temporizador dedicado.
¿Qué tan preciso es realmente este cronómetro?
La especificación HTML de High Resolution Time (mantenida por el W3C) exige que performance.now() devuelva submilisegundos, pero los navegadores modernos redondean la cifra por motivos de seguridad (mitigación de ataques de temporización tipo Spectre). En la práctica, la resolución efectiva ronda entre 0,1 y 1 milisegundo según el navegador. El número se representa internamente como un flotante de doble precisión IEEE 754, el mismo estándar que usa JavaScript para todos sus números y que implementan más del 95% de los navegadores modernos.
| Método de cronometraje | Precisión típica | Uso adecuado |
|---|---|---|
| Cronómetro de navegador (este) | 0,1 – 1 ms | Entrenamiento, cocina, laboratorio escolar, Pomodoro |
| Cronómetro mecánico de mano | ±200 ms (reacción humana) | Deporte informal, sin exigencia oficial |
| Fotocélula / célula fotoeléctrica | ±10 ms | Atletismo amateur, clubes |
| Chip RFID (timing por chip) | ±3 ms | Maratones, carreras masivas |
| Foto-finish oficial (IAAF/World Athletics) | 0,001 s (1 ms) | Juegos Olímpicos, récords mundiales |
Según la norma internacional ISO 80000-3 (cantidades y unidades del espacio y el tiempo), el segundo es la unidad base y sus fracciones (mili, micro, nanosegundo) se definen de forma exacta; el margen de error real proviene siempre del instrumento de medida, no de la unidad. Los relojes atómicos de cesio-133 que sincronizan los servidores de tiempo mundiales (mantenidos por organismos como el NIST en Estados Unidos) tienen una desviación inferior al 0,0000001% al año, muy por debajo de lo que cualquier cronómetro de software necesita.
¿Sigue funcionando si cambio de pestaña o minimizo el navegador?
Depende de la técnica usada. Los navegadores aplican throttling (reducción deliberada de frecuencia) a las pestañas inactivas para ahorrar batería: setInterval puede pasar de ejecutarse cada 10 ms a solo una vez por segundo, y requestAnimationFrame se detiene casi por completo en segundo plano porque está ligado al repintado visual de la pantalla.
| Técnica de actualización | Pestaña activa | Pestaña en segundo plano |
|---|---|---|
| setInterval(10ms) | Cada 10 ms | Reducido a ~1 vez/segundo tras un minuto |
| requestAnimationFrame | Sincronizado a 60 fps | Prácticamente detenido (sin repintado) |
| Reloj interno (performance.now) | Continuo | Continuo, sin importar el throttling visual |
performance.now() es correcto en cuanto la pestaña vuelve a primer plano, porque el reloj monótono nunca deja de avanzar; solo se ralentiza la frecuencia con la que se lee y se pinta en pantalla.¿Cómo se cronometraba el deporte antes de los chips electrónicos?
La medición del tiempo deportivo ha pasado por cuatro generaciones tecnológicas, cada una reduciendo el margen de error humano.
| Época | Tecnología | Precisión | Limitación principal |
|---|---|---|---|
| Hasta 1912 | Cronómetro mecánico manual | ±200-500 ms | Tiempo de reacción del juez |
| 1912-1960s | Cronometraje eléctrico con pistola de salida conectada | ±100 ms | Lectura manual de la aguja |
| 1960s-1990s | Foto-finish fotográfico (cámara de línea) | 1-10 ms | Revelado y lectura manual de la película |
| 1990s-hoy | Foto-finish digital + chip RFID | 0,1-3 ms | Coste del equipo, solo eventos oficiales |
El foto-finish digital actual toma miles de imágenes por segundo de una línea vertical exacta sobre la meta y compone una imagen continua del paso de cada corredor. Combinado con chips RFID en el calzado, permite diferenciar corredores separados por menos de tres milisegundos, algo imposible para un juez humano con cronómetro de mano, cuyo propio tiempo de reacción (entre 150 y 300 ms) ya supera el margen que se pretende medir.
¿Para qué sirve exactamente el botón Vuelta (lap)?
El botón Vuelta no detiene el cronómetro: registra el tiempo acumulado en ese instante y calcula el tiempo parcial (la diferencia con la vuelta anterior) sin interrumpir el conteo. Es la función que distingue un cronómetro deportivo de un simple contador.
¿Dónde se usa un cronómetro online en la práctica?
| Sector | Uso típico | Por qué un cronómetro web basta |
|---|---|---|
| Deporte y entrenamiento | Series, vueltas, tiempos de recuperación | Precisión de milisegundos suficiente sin fotocélula |
| Cocina | Fermentación, cocción, reposo de masas | Vueltas para comparar tandas del mismo plato |
| Productividad (Pomodoro) | Bloques de trabajo enfocado seguidos de pausas | Registro de vueltas = historial de sesiones del día |
| Laboratorio y clase | Reacciones químicas, experimentos de física escolar | Gratuito, sin instalar software, funciona offline |
| Reuniones y debates | Control de turnos de palabra, presentaciones cronometradas | Pantalla grande legible, sin distracciones de una app |
En laboratorio escolar, el cronómetro sustituye al cronómetro de bolsillo tradicional para medir el tiempo de una reacción química o la caída de un objeto, con la ventaja de que el registro de vueltas permite anotar varias mediciones sucesivas sin reiniciar entre cada intento.
¿Cuál es el tiempo de reacción humano medio, y por qué importa aquí?
Cuando alguien pulsa Iniciar o Vuelta al ver o escuchar una señal externa (el disparo de salida, el pitido del horno, el inicio de un ejercicio), el propio tiempo de reacción humano se suma a la medición. Los estudios de psicología experimental sobre tiempo de reacción sitúan la media humana en rangos bien documentados según el tipo de estímulo.
| Tipo de estímulo | Tiempo de reacción medio | Contexto |
|---|---|---|
| Visual simple (ver una luz) | ≈250 ms | Población general, adultos jóvenes |
| Auditivo simple (oír un pitido) | ≈170 ms | Más rápido que el visual: el oído procesa antes que la vista |
| Táctil simple (sentir un toque) | ≈155 ms | El estímulo más rápido de procesar |
| Deportistas de élite entrenados | ≈130 ms | Sprinters, jugadores profesionales de reflejos |
| Límite de falsa salida en atletismo | 100 ms | Por debajo de este umbral, el reglamento asume anticipación, no reacción real |
La distribución de estos tiempos entre individuos no es uniforme: presenta una desviación estándar considerable, con una cola de valores atípicos (outlier) en personas muy entrenadas o en condiciones de fatiga. Un valor muestral aislado de 100 ms en una persona sin entrenamiento específico debería interpretarse con cautela, ya que se aleja mucho de la media poblacional documentada. En términos estadísticos, aproximadamente el 68% de las personas se sitúa dentro de ±50 ms de la media (una desviación estándar), mientras la varianza tiende a aumentar con la fatiga acumulada durante una sesión larga.
❓ Preguntas frecuentes
¿Cómo funciona exactamente un cronómetro online?
Guarda el instante de inicio con el reloj de alta resolución del navegador (performance.now()) y en cada actualización resta ese instante al valor actual del mismo reloj. El resultado es el tiempo transcurrido, independiente de la hora del sistema operativo.
¿Es preciso comparado con un cronómetro oficial de atletismo?
Este cronómetro tiene una resolución de 0,1 a 1 milisegundo, suficiente para entrenamiento, cocina o laboratorio escolar. Para competición oficial se exige foto-finish digital certificado con precisión de 0,001 segundos, un equipo especializado que ningún navegador puede igualar.
¿Funciona si cambio de pestaña o minimizo la ventana?
Sí, el cálculo del tiempo sigue siendo exacto porque se basa en un reloj monótono que nunca se detiene. Lo único que cambia es la frecuencia con la que la pantalla se repinta mientras la pestaña está en segundo plano; el número mostrado se corrige en cuanto vuelve a primer plano.
¿Para qué sirve el botón Vuelta (lap)?
Registra el tiempo acumulado en ese instante sin detener el cronómetro y calcula el tiempo parcial respecto a la vuelta anterior. Es la función clave para comparar series de un entrenamiento o repeticiones de una tarea.
¿Se puede usar sin conexión a internet?
Sí. Una vez cargada la página, el cronómetro y el registro de vueltas funcionan completamente offline; solo el gráfico de Chart.js necesita haberse descargado previamente.
¿Se pierde el tiempo si cierro o recargo la página?
Sí, este cronómetro no guarda estado entre sesiones. Para una sesión larga, mantenga la pestaña abierta o anote las vueltas manualmente antes de cerrar.
¿Cuál es la diferencia entre este cronómetro y un temporizador de cuenta atrás?
El cronómetro cuenta hacia adelante desde cero para medir una duración; el temporizador cuenta hacia atrás desde un valor fijo para avisar cuando se cumple un plazo. Son herramientas complementarias, no intercambiables.
¿Por qué se usa performance.now() en lugar de Date.now()?
Date.now() refleja la hora del sistema operativo, que puede saltar por sincronización NTP o cambio de huso horario. performance.now() es un reloj monótono dedicado a medir duraciones, que nunca retrocede ni salta, lo que evita errores acumulados en sesiones largas.
¿Puedo abrir varios cronómetros a la vez?
Sí, abriendo varias pestañas del navegador. Cada instancia mantiene su propio estado de forma independiente, sin interferir entre ellas.
Ingeniero y docente universitario. Expertos verificados en finanzas, fiscalidad y matemáticas.
Última actualización: agosto 2026
📚 Fuentes: MDN - Performance.now() · W3C - High Resolution Time · ISO 80000-3 - Cantidades y unidades del tiempo · NIST - Time and Frequency Division