Countdown Timer

Count down from a specified duration to zero with customizable format.

Expression Code
// COUNTDOWN TIMER
// Apply to Source Text
// === SETTINGS ===
countdownFrom = 10; // seconds to count down from
showMinutes = false; // true for MM:SS format
showMillis = false; // true for decimal seconds
holdAtZero = true; // true = stop at 0, false = go negative
// === COUNTDOWN LOGIC ===
remaining = countdownFrom - time;
if (holdAtZero && remaining < 0) remaining = 0;
// Handle negative (count up after zero)
isNegative = remaining < 0;
remaining = Math.abs(remaining);
min = Math.floor(remaining / 60);
sec = Math.floor(remaining % 60);
millis = Math.floor((remaining % 1) * 100);
function pad(n, digits) {
s = "" + n;
while (s.length < digits) s = "0" + s;
return s;
}
// Build output
result = "";
if (isNegative) result += "-";
if (showMinutes) {
result += pad(min, 2) + ":" + pad(sec, 2);
} else {
result += Math.floor(remaining);
}
if (showMillis) result += "." + pad(millis, 2);
result
Apply to a text layer's Source Text property. The timer counts down from countdownFrom seconds to zero. 1. Create a text layer 2. Alt/Option-click the Source Text stopwatch 3. Paste this expression 4. Set countdownFrom to your desired starting value
Back to Text & Numbers