EmailTimer.App

Which email clients show a countdown timer

By Danish Mohammed, founder. 8 min read

Almost every email client will display a countdown timer, because a timer is an image and every client displays images. What varies is narrower than “support”: when the client asks for the image, how long it reuses the copy it got, and how many frames of an animated GIF it will play. The rest of this page is what each client’s own documentation says on those three points.

The three variables that decide what a recipient sees

A countdown timer in email is a GIF rendered by a server at the moment the image is requested. There is no JavaScript in an email, so nothing on the recipient’s machine counts anything down. The server works out the remaining time, draws it into the pixels, and sends back a file. Everything that can go wrong sits in the gap between that request and the human looking at the screen.

A timeline of one email: sent, delivered, opened, opened again. Apple Mail with Mail Privacy Protection fetches the image at delivery, Gmail and Outlook fetch it at the first open, and a re-open can be answered from a kept copy.
The fetch moment, drawn for one email. A filled dot is a fetch, the only moment the time left is drawn.

Fetch moment. Some clients ask for the image when a person opens the message. Apple Mail with Mail Privacy Protection asks for it when the message arrives, before anyone has touched it. Apple states that Protect Mail Activity “downloads remote content in the background by default”, regardless of whether the recipient engages with the message. A timer fetched at delivery shows the time remaining at delivery.

Reuse window. Once a client or its proxy holds a copy, it may serve that copy again instead of asking for a fresh one. Gmail serves images through Google’s proxy: “When your users open email messages, Gmail uses Google’s secure proxy servers to serve images that might be included in these messages.” A second open inside the reuse window can show the first open’s numbers.

Frames played. Classic Outlook on Windows parses HTML with the Word engine, documented by Microsoft since Outlook 2007. Microsoft’s own support page states the consequence in one line: “If only the first frame of the animation appears, you have animations, or animated GIFs, disabled.” For any Windows reader with animations off, frame one is the whole timer.

The client table

The client table
Client When the image is fetched How long a copy is reused Animated GIF What a recipient sees
Outlook 2007, 2010, 2013 (Windows) On open Local profile cache No animation Frame one only. Microsoft’s own Outlook 2007 rendering document lists “Animated GIF images. Only a static representation of the GIF image shows.” Klaviyo and MailerLite name all three versions.
Outlook 2016 to 2024 and Microsoft 365, classic (Windows) On open Local profile cache Depends on a setting For Microsoft 365, Microsoft documents a “Play animated GIFs” checkbox under File, Options, Advanced before version 2008, and the Windows accessibility setting “Show animations in Windows” from 2008 onward. Its page does not cover the perpetual 2016 to 2024 builds, and reports differ on whether the checkbox exists there. With animations off, frame one only.
New Outlook for Windows On open Reported to resume from a cached frame Yes An unresolved Microsoft Q&A thread from 7 May 2025 reports a timer GIF restarting “from a specific cached frame” on each new open, on new Outlook 1.2025.319.100 and classic 2502.
Outlook on the web On open Browser HTTP cache Yes The same Q&A thread reports the incorrect time in the web client as well as the desktop client.
Outlook for Mac On open Local cache Yes No Microsoft documentation found that addresses GIF animation in Outlook for Mac specifically.
Outlook for iOS and Android On open App cache Yes The reporter in the Microsoft Q&A thread states that mobile Outlook showed the correct time while desktop and web did not.
Gmail on the web On first open, through Google’s proxy Not published by Google Yes Google documents the proxy, not a cache lifetime. Vendors report stale timers on later opens: MotionMail’s own help centre says Gmail “downloads this ‘old’ image instead of loading the timer new”.
Gmail app on iOS and Android On open, through the same proxy Not published by Google Yes Same proxy behaviour as the web client.
Apple Mail with Mail Privacy Protection At delivery, in the background, through two relays Third-party testing reports two to three days Yes The countdown animates from the time remaining at delivery. Dotdigital warns that an open-time countdown can show Apple Mail users the wrong time.
Apple Mail with Mail Privacy Protection turned off On open Local cache Yes Apple notes that disabling Protect Mail Activity still masks the IP address through the same two-relay design.
Yahoo Mail and AOL Mail Not documented by the client Not documented Not documented I found no vendor documentation. See the note below.
Thunderbird Not documented for this case Not documented Not documented I found no vendor documentation.
Samsung Mail Not documented for this case Not documented Not documented I found no vendor documentation.

This table is compiled from the clients’ own documentation and public reports. When I have dated screenshots from real inboxes, they will go here and this line will say so.

Outlook is the case your design has to survive

Everything about the way EmailTimer.App builds a GIF follows from the Outlook row. The renderer treats frame one as the deliverable rather than as a lead-in. Frame one is a complete, full-canvas image with the live numbers for the moment of the fetch already painted into it, never a placeholder and never a blank plate. Frames two onward redraw only the rectangle the digits occupy, over a fixed colour table, which is what keeps the file small enough to send.

Frame one of a countdown reading 01 11 59 00, with a dashed box around the last minute digit and the seconds, the only area the later frames redraw.
Frame one of a render, which is all Outlook on Windows draws. Frames 2 to 30 redraw only the dashed rectangle over the digits.

A timer in an Outlook-heavy list is a still photograph of a number. It can be the right number. It cannot tick. Design the block so that a static reading of it makes sense, and put the cut-off in text next to the image so the message survives a reader who never loads images at all.

Version-by-version detail, including the setting that controls animation and the 2025 regression report, is on countdown timers in Outlook.

Apple Mail moves the clock backwards

Apple’s published design routes remote content “through two separate relays operated by different entities”, and downloads it in the background whether or not the recipient engages with the message. For a countdown that means the render happens close to delivery. A recipient who opens eighteen hours later sees an animation built eighteen hours earlier.

A fixed deadline survives this intact, because the deadline did not move. If the sale ends at 23:59 UTC on Friday and the image was drawn on Thursday at noon, the numbers say thirty-five hours and change, and that was true when they were drawn. A timer that is supposed to start when the recipient opens does not survive it, because Apple’s prefetch is the first fetch, and the countdown starts then.

The mechanics of Apple’s cache, including what is documented and what is only reported, are in Apple MPP and the shared image cache.

Gmail is accurate on the first open

Google documents the proxy and does not publish a cache lifetime. What is reported consistently by vendors, including in their own troubleshooting articles, is that the first open renders correctly and a later open can replay the earlier picture. FreshInbox’s 2021 testing found that Gmail honours cache expiry headers where Apple Mail does not. That is the part of this a vendor can act on. The headers EmailTimer.App sends on a live timer state zero seconds of private freshness and thirty seconds of shared-cache life, with revalidation required.

The full treatment, including why a cache-busting parameter cannot help after a message has been sent, is on countdown timers in Gmail.

The clients nobody documents

Three rows in the table above say the same thing: no documentation found. Yahoo, AOL, Thunderbird and Samsung Mail publish nothing about how they fetch or reuse remote images in a message, and no vendor in this category has published a dated test of them either. Pages that claim a confident answer for these clients are not citing anything.

I would rather leave the cell empty than fill it. When I have dated screenshots from real inboxes, they will go here with the date on them.

What to do about it

These are steps you can take inside your ESP this afternoon, in the order they pay off.

  1. Write the deadline in body text, next to the image. “Ends 23:59 UTC on Friday 25 September” costs you one line and covers every failure in the table: images off, first frame only, stale copy, blocked proxy. Do this even if you do nothing else on this list.
  2. Prefer a fixed deadline for a broadcast. Set an absolute instant with an explicit time zone. It is the only model in which a delivery-time fetch and an open-time fetch produce the same correct answer.
  3. For a triggered flow, compute the deadline in the flow and sign it into an address per recipient. In a cart recovery or trial expiry sequence, calculate the expiry from the trigger event, generate an image address carrying it through the API, and hold that address in a profile field. Do not ask the image to work out when the recipient first looked, and do not add the timestamp to the address as a merge tag, because the address is signed and the tag breaks it.
  4. Set the expired image before you send, not after. A reader who opens after the cut-off should see a closed-sale graphic. A counter frozen on zero looks like a bug and reads as one.
  5. Set width and height on the image tag. Classic Outlook lays the message out with the Word engine and will not guess well. Explicit dimensions also stop the layout jumping while the image loads on a phone.
  6. Check what your own list is made of before you optimise anything. If seventy percent of your opens come from Apple Mail, the frame count is irrelevant and the fixed deadline is everything. If most of your readers are on classic Outlook, frame one is your whole design.

Questions and answers

Does a countdown timer work in Outlook?

It displays in every version of Outlook, and in classic Outlook on Windows it usually displays as a single static frame rather than an animation. Microsoft documents the setting that controls this and the behaviour when it is off.

Which client is the worst case for a timer?

Apple Mail with Mail Privacy Protection, because the fetch happens at delivery and the copy is reused for days, so a relative countdown is measured from the wrong starting point. A fixed deadline is unaffected.

Do I need a different timer for each client?

No. One image URL serves all of them, and the server decides what to draw. What changes per client is how much of the animation gets played and how old the copy is.

Has EmailTimer.App tested these clients itself?

Not yet. Every row above is sourced to the client’s own documentation or to a public report, and the sources are listed on this page. Dated screenshots from real inboxes will be published here when I have them.

Where do I see what my own template will render?

The publish step in the editor shows the four cases that matter side by side before a template goes out, and each of the timer types carries a note on which clients degrade it. Plans and limits are on pricing.

Sources

Countdown timers, client by client

What each mail client does to a countdown: when it fetches the image, how long it keeps the copy, and whether it animates at all.

Related

Every hub on this site is listed on guides and articles.

Put a countdown in the campaign you are writing now

The free plan covers 5,000 opens a month with no card. Starter is $19 a month for 250,000.