Cómo programar una cuenta atrás

· 9 min de lectura

Ya sea el lanzamiento de un producto, una boda, una entrega o la Nochevieja, una cuenta regresiva convierte una fecha futura abstracta en algo tangible: días, horas, minutos y segundos descontándose hasta cero. Hay una verdadera atracción psicológica en ver cómo el número se encoge: enfoca la atención, construye anticipación y crea un momento compartido para todos los que miran el mismo objetivo.

Breve historia de la cuenta regresiva

La cuenta regresiva en sí, 10-9-8 hasta cero, fue inventada en 1929 por Fritz Lang para la película muda «Die Frau im Mond» (La mujer en la luna). La secuencia de lanzamiento tal como Lang la rodó originalmente resultaba plana, así que añadió la cuenta descendente para subir la tensión. Sus asesores científicos, entre ellos Hermann Oberth, llevaron la idea de vuelta a la Sociedad Alemana para los Viajes Espaciales; la práctica se volvió estándar en el primer lanzamiento de satélite de la NASA (Explorer 1, enero de 1958) y es inseparable de los lanzamientos de cohetes desde entonces. La cuenta regresiva del Apollo 11 en julio de 1969 fue vista en directo por unas 650 millones de personas, la audiencia de un solo evento más grande hasta esa fecha.

Las cuentas regresivas preceden a las pantallas digitales en siglos. Los relojes de arena, que datan aproximadamente del siglo VIII en Europa, servían a la misma función para los turnos de mar y los oficios religiosos. Los temporizadores mecánicos de cocina se volvieron comunes tras la Segunda Guerra Mundial, y el redondo rojo de cuerda manual sigue siendo la imagen canónica de «te quedan N minutos». La caída de la bola en Times Square en Nochevieja, que comenzó en 1907, es esencialmente una cuenta regresiva pública y mecánica.

Las cuentas regresivas por software aparecieron con los primeros ordenadores personales en los años 70 y 80, a menudo como temporizadores de juego. Las cuentas regresivas web se volvieron prácticas con setInterval de JavaScript (introducido en Netscape Navigator 2.0, marzo de 1996); todo el género de páginas «días hasta el estreno de la película» en los sitios de fans de principios de los 2000 se construía sobre un puñado de líneas de esa API.

Cómo poner una cuenta regresiva

  1. Pon la fecha y hora objetivo. Elige la fecha y hora de tu evento, fecha límite o hito. Sé específico con la hora, una cuenta regresiva solo-fecha asume las 00:00 en tu zona horaria local.
  2. Añade una etiqueta. Dale a tu cuenta regresiva un nombre como «Lanzamiento de producto» o «Vacaciones» para recordar de un vistazo qué cuentas. La etiqueta aparece en el título de la página y en la vista previa del enlace compartido.
  3. Elige una zona horaria si importa. Para eventos que tienen una hora local fija en otra zona (una conferencia a las 9:00 Pacífico, un lanzamiento a las 14:30 UTC), introduce el objetivo en esa zona explícitamente para que tu audiencia global vea el momento correcto.
  4. Genera el enlace de compartir. La herramienta codifica la fecha objetivo, la etiqueta y la zona horaria en la propia URL, así cualquiera al que se lo mandes ve la misma cuenta regresiva.
  5. Míralo correr. El temporizador se actualiza cada segundo, mostrando días, horas, minutos y segundos restantes. Cuando llega a cero, la página cambia a un estado «ocurrió» y sigue contando hacia arriba si lo deseas.

Hacia qué contar atrás

Compartir cuentas regresivas

Haz clic en el botón de enlace para obtener una URL que codifica tu fecha objetivo, hora, etiqueta y zona horaria. Cualquiera que abra el enlace ve la misma cuenta regresiva en su navegador. No hay cuenta, ni base de datos, ni nada que hospedar: todo el estado vive en la cadena de consulta de la URL. Es útil para:

Como la URL es la fuente de verdad, puedes marcarla, compartirla entre dispositivos, o pegarla en un tracker de proyecto sin temer que el estado caduque.

Cómo la cuenta regresiva se mantiene precisa

Una cuenta regresiva ingenua que decrementa un número cada segundo es frágil. Si la pestaña pierde el foco, el portátil se suspende o el dispositivo hiberna, el contador se atrasa respecto al tiempo real y muestra un valor erróneo por minutos u horas. La solución es calcular el tiempo restante desde el reloj de pared en lugar de desde tics transcurridos.

Nuestro temporizador sigue ese enfoque: en cada animation frame (o cada segundo en una pestaña en segundo plano), llama a Date.now(), lo resta del timestamp objetivo y renderiza la diferencia. El intervalo es un mecanismo de ritmo para re-renderizar, no una fuente de verdad. Cerrar la pestaña, perder la red o dejar el móvil bloqueado no tiene efecto; reabres la página y el temporizador encaja en la duración restante correcta en un tic.

Esto importa por cómo los navegadores modernos tratan las pestañas en segundo plano. Desde 2011, Chrome y Firefox limitan agresivamente los temporizadores en pestañas inactivas para ahorrar batería; Chrome 88 (2021) introdujo «heavy throttling» que hace correr los temporizadores en segundo plano tan poco como una vez por minuto. La Page Visibility API (W3C, 2011) le dice a una página cuándo está oculta para que pueda pausar el trabajo no esencial. Una cuenta regresiva guiada por reloj de pared ignora toda esa complejidad: no le importa con qué frecuencia tique, porque siempre renderiza el valor correcto cuando lo hace.

Errores comunes

Herramientas alternativas y contextos

Una cuenta regresiva basada en navegador es la opción de menor fricción: sin instalación, enlace de compartir instantáneo, corre en cualquier sitio. Otras herramientas sirven para otros contextos.

HerramientaMejor paraPunto fuerteA vigilar
Cuenta regresiva webCompartir un momento con un grupoEstado en la URL, sin cuentaLimitación de temporizadores sin patrón reloj-de-pared
Temporizador iOS / Android integradoUn solo usuario, de minutos a horasAlarma de hardware, bloquea pantallaNo compartible, dispositivo único
Recordatorio de calendario (Google, Apple)Eventos de horizonte largoNotificaciones entre dispositivosNo es una pantalla viva que tica
Temporizador altavoz inteligente (Alexa, Google)Cocina, fitnessControl por voz, audio ambienteUn solo hogar, no portátil
Temporizador de cocina mecánicoCocina, sprints de concentraciónSin pantalla, sin bateríaUn solo usuario, formato fijo
Software de escena (PresentationPoint, ProPresenter)Congresos, iglesiasControl de pantalla al píxelEspecializado, de pago
Marcador de estadioEventos deportivosMuy visibleUn solo recinto, de pago
Temporizadores de overlay streaming (Streamlabs, OBS)Twitch, YouTube en directoSe integra con las transmisionesSolo contexto de streaming

Para fechas límite públicas puntuales y páginas de evento, una cuenta regresiva web compartible por URL gana en velocidad y cero infraestructura. Para ritmo personal (cocina, Pomodoro), un temporizador nativo del móvil suele ser más rápido.

Consejos para mejores cuentas regresivas

Privacidad y accesibilidad

La cuenta regresiva corre enteramente en tu navegador. La fecha objetivo, la etiqueta, la zona horaria y cualquier URL compartida que generes nunca tocan un servidor. No se registra nada, no se rastrea nada, y no hace falta cuenta: el estado de la cuenta regresiva vive en la propia URL, que es lo que la hace compartible sin backend. Si quieres que la cuenta regresiva reproduzca un sonido o envíe una notificación del sistema en cero, el navegador te pide permiso explícitamente, y puedes revocarlo en cualquier momento desde los ajustes de sitio de tu navegador.

Para usuarios de lectores de pantalla, la cuenta regresiva anuncia el tiempo restante mediante una región aria-live, así que el valor se lee en cada actualización sin que tengas que refrescar ni reenfocar la página. La animación respeta prefers-reduced-motion. Los colores cumplen el contraste WCAG AA, y el diseño se reorganiza en pantallas pequeñas para móviles en vertical. Toda la herramienta corre offline una vez cargada la página, lo que puedes verificar desconectando la red y viendo cómo el temporizador sigue ticando.

Preguntas frecuentes

¿Puedo compartir la cuenta atrás con alguien?

Sí. Copia el enlace de compartir y envíalo a quien quieras. Verán la misma cuenta atrás hacia la misma fecha y hora objetivo en su navegador.

¿La cuenta atrás continúa si cierro la pestaña?

La cuenta atrás se recalcula a partir de la hora actual cada segundo. Si cierras la pestaña y vuelves a abrir el enlace más tarde, retoma donde debería estar, nada se pierde.

¿Qué zona horaria usa la cuenta atrás?

La cuenta atrás usa la zona horaria local de tu navegador. La fecha y la hora objetivo que introduces se interpretan en tu zona actual.

¿Puedo hacer una cuenta atrás hacia una hora concreta, no solo a una fecha?

Sí. Define tanto la fecha como la hora objetivo para un descuento al segundo.

What happens at midnight in my timezone when a friend in another timezone opens the same link?

The link encodes the target as an absolute moment in time (an ISO timestamp), so everyone sees the countdown reach zero at the same global instant. Your friend will see the local time corresponding to that instant in their own timezone.

Why does my countdown look frozen when I switch tabs and come back?

Modern browsers throttle timers in inactive tabs to save battery. Our timer recalculates from the wall clock the moment you return, so the displayed value snaps to the correct remaining time within one tick rather than drifting silently.