Twitch Recap: How to See Yours (and Save the Highlights)
Updated: 2026-07-06 · Written by the vodfetch founder
Every December, Twitch Recap sums up your year of watching. Here's exactly where to find it, why some accounts don't get one — and how to save the streams behind it before they expire.
What Twitch Recap is
Twitch Recap is Twitch's annual, personalized year-in-review: hours watched, days active, top categories, your most-watched streamers, chats sent and more. It arrives every December — the 2025 edition went live on December 2, 2025 — and alongside the personal recaps there's a community recap of the year's best clips that everyone can watch.
How to see your Recap
Go to twitch.tv/annual-recap while logged in with the account you actually watch on. Twitch also emails a link when your Recap is ready, and in recent years viewing it has unlocked a seasonal chat badge.
Why you might not have one
Recaps have an eligibility bar: roughly ten hours watched (viewer recap) or ten hours streamed (creator recap) inside the eligibility window — for the 2025 edition that window ran from October 31, 2024 to October 31, 2025. If you're below the bar, or logged into a different account than the one you watch with, no personal recap appears — the community recap still works for everyone.
Can you download your Recap?
Twitch gives you a built-in share graphic, and that's it — there is no export of the underlying data. A screenshot covers the rest. The Recap itself is a summary; the actual streams behind it live, temporarily, on the channels you watched.
Save the streams behind your Recap
Recap tells you who you watched most — and Twitch quietly deletes those channels' VODs on a 7-to-60-day timer all year round. If what you actually care about is your favorite streamer's broadcasts and moments, save them as MP4 with vodfetch — free, in your browser, no account.
Clips don't expire on a timer, but they do disappear: streamers delete them, audio gets muted, channels get purged. A local copy is the only version that's really yours.
Rebuild the year yourself: browse the channel instead of hunting links
Recap names your most-watched channels but does not link to their videos, so the usual next step is digging through a channel page. You can skip that: type the channel name on its own into vodfetch, with no URL at all. A bare string of 2 to 25 letters, digits or underscores is read as a channel name, though a run of six or more digits is read as a video ID instead. If that channel is offline you get a browse view rather than a download: its 24 most recent past broadcasts, with a Load more button that pulls another 24 each press and removes itself once there is nothing left to load.
Below the broadcasts sits the part that behaves like a private recap. It loads twelve clips sorted by view count, with four period buttons above them — Today, This week, This month, All time. Each button reloads the same list for that window, so All time on the channel you watched most is, in practice, that channel's greatest hits. A window with nothing in it says "No clips in this period."
Clicking any card drops its URL into the input and starts the analysis immediately, so you never copy a link by hand. Two things are worth knowing. The video grid is filtered to past broadcasts only, so highlights and uploads never appear in it — paste a highlight's twitch.tv/videos/ link directly and it is handled exactly like any other VOD. And if the channel happens to be live at the moment you type its name, you get the live stream's quality list instead, because the browse view is only what appears when the live lookup finds nothing.
The expiry countdown, and the three things it cannot know
Above the grids, one line states the retention you are working against. Channels flagged Partner or Affiliate get "This channel is a Twitch Partner — past broadcasts are typically kept for up to 60 days." Everyone else gets "Not flagged as a Partner or Affiliate — past broadcasts may be removed in as little as 7 days (60 with Prime or Turbo, which Twitch does not expose here), so grab what you want soon." Individual video cards then carry a badge computed as retention days minus the video's age, rounded up, and drawn only once that number falls to 14 or lower: "~9d left (est.)". Once the estimate reaches zero the badge changes to "may already be close to expiring".
That number is an estimate, and it is worth being precise about what it cannot see. Twitch publishes no deletion timestamp, so the badge is derived from the publish date and the channel's role flags, nothing more. The Prime/Turbo extension to 60 days is not exposed anywhere the tool can read, so a Prime streamer without affiliate status shows 7 days and may actually have 60. Read the badge as a priority order for what to save first, not as a deadline you can plan around.
The third gap is easy to miss: badges are only drawn on the first 24 cards. Videos pulled in by Load more are rendered without any expiry estimate at all, and those are the older broadcasts — precisely the ones nearest deletion. If you are working backwards through a year of streams, read the publish date printed on each card yourself once you are past the first page.
Choosing the output: clip, trimmed VOD, GIF or text
A clip is the simplest case. Clips take a separate download path that fetches one already-encoded MP4 in ranged chunks and writes it straight out, so a clip always lands as .mp4 and the MP4/TS switch cannot affect it. That path also never reaches the large-file confirmation prompts, which live in the segment downloader, so a clip's size never interrupts you.
A moment inside a long broadcast wants the trim controls. Set a start and an end, and note that the cut keeps whole segments: every segment overlapping your window is kept, so both ends expand outward to the nearest segment boundary. Expect a little padding on each side rather than a frame-exact cut. If the window lands entirely outside the video, the run stops with "No segments in range" instead of writing an empty file.
The GIF button stays hidden unless the source qualifies. A clip always qualifies; a VOD qualifies only with trim enabled and a selection of 15.5 seconds or less, which is what its tooltip means by "Trim to ≤ 15 s, then export a shareable GIF". Encoding runs at 12 frames per second and scales the picture down to a maximum width of 480 pixels, never up. One asymmetry to plan around: a GIF built from a clip always starts at the clip's first frame and covers at most its first 15 seconds, so a punchline 40 seconds into a long clip will not be in it. Save that clip as MP4 instead.
Two text exports round out an archive. The chat button appears for VODs only and writes "<id>_chat.txt" — plain text, one message per line, formatted "[1:07:42] Name: message", pulled 100 messages at a time until the log runs out. The chapter button is stricter: it appears only when the VOD actually carries chapter markers, and writes "<id>_chapters.txt" with a timestamp and the chapter's label per line. Both stay searchable in any text editor long after you have forgotten which broadcast held what.
Filenames are generated unless you supply one. Leave the filename box empty and the saved file is named from the channel, the publish date as YYYY-MM-DD, the video title and the quality, joined with underscores. Only the first field of the quality label survives — "1080p60" out of "1080p60 · 1920x1080 · 6.2 Mbit/s" — so resolution and bitrate never reach the filename. Characters Windows rejects in a name are replaced with underscores and the assembled name is trimmed to 120 characters, which matters once you are dropping dozens of broadcasts from the same channel into one folder.
When a Recap favourite refuses to download
"VOD unavailable (deleted, private or sub-only)" means Twitch returned no playback token for that video id: it has been deleted, switched to private, or sits behind a subscription. "Usher 403 (sub-only/expired)" and "Usher 404 (offline/not found)" mean a token was issued but the playlist server refused it — practically the same outcome, one step later. "No qualities available" is different again: the master playlist did arrive, but parsed to zero streams, so the problem is in what Twitch served rather than in the token.
For clips, the two messages describe different problems. "Clip not found or deleted" means Twitch returned nothing at all for that slug, so check the slug — the last path segment of the URL — before concluding the clip is gone. "Clip not available" means the clip object came back but without playable qualities or a signature. A playback token is requested fresh on every analyze, so a second attempt a minute later is a genuinely different request rather than a pointless retry.
Transfer failures read differently again. "Segment failed" appears only after four attempts on the same byte range, with waits of 300, 600, 900 and 1200 milliseconds, so it indicates a persistently unreachable chunk rather than one dropped packet. "Playlist HTTP <code>" and "GraphQL HTTP <code>" pass Twitch's own status straight through. There is no resume: a failed run starts over from the beginning, so on a flaky connection it pays to save a three-hour broadcast as two trimmed halves.
"MP4 conversion failed — choose Format → TS and retry." and "MP4 converter failed to start — choose Format → TS." both point at the same fix. The MP4 route holds every fetched segment and the converter's entire output in memory until the very end; the TS route writes each batch out as it arrives, which is why it completes on machines where MP4 gives up. The .ts file holds the same video, which is what the log line "Plays in VLC; for MP4 choose Format → MP4." is telling you.
The honest limits of archiving a year
A deleted VOD is gone. vodfetch requests playback data from Twitch in real time and keeps no archive of its own, so there is nothing left to fetch once Twitch has removed a video. Subscriber-only content is out of reach for a structural reason: requests go to Twitch's public GraphQL endpoint with the public web Client-ID and no login, so there is no subscriber token to present. Some streams also gate quality above 720p60 behind an authenticated token, whatever tool you use.
Two more outcomes are decided upstream. Where Twitch muted a section of a VOD over copyrighted music, the muting is baked into what its servers hand out, so every downloader gets the same silence. And if your top streamer is live rather than archived, the recorder writes a .ts file that is never remuxed to MP4, and it stops itself after three hours as abuse protection — you can start it again immediately for another three.
On a phone, the binding constraint is memory rather than Twitch. Without the File System Access API — Safari, Firefox and mobile browsers generally — the file is assembled in memory before it lands, and vodfetch asks you to confirm past roughly 700 MB, or past 1.5 GB when the MP4 converter is in use. Those are prompts you can accept, not hard caps. If a save dialog fails on desktop you will see "Could not stream to disk — buffering in memory", which means the same in-memory path is now in use. Full broadcasts remain far more reliable in desktop Chrome or Edge, which write straight to a file you pick.
How to download a Twitch video
- 1
Open twitch.tv/annual-recap
Log in with the account you actually watch on — Recaps are per-account.
- 2
Check your email if it's missing
Twitch mails a Recap link when it's ready, usually in the first days of December.
- 3
Share or screenshot
Use the built-in share graphic; there's no full export of the data.
- 4
Save the actual streams and clips
Paste any VOD or clip link from your favorite channels into vodfetch and keep the year's moments as MP4.
Frequently asked questions
When does Twitch Recap come out?
Early December each year. The 2025 Recap went live on December 2, 2025 at twitch.tv/annual-recap, with an email notification to eligible accounts.
Why don't I have a Twitch Recap?
Most often: not enough watch time in the eligibility window (roughly ten hours), or you're logged into a different account than the one you watch with. The community recap is viewable either way.
Can I download my Twitch Recap?
Twitch offers a share graphic, not a data export — screenshot the pages you want. The underlying streams are separate, and those you can genuinely save as files.
Can I download the clips from Recap?
Yes — the community recap's clips and your favorite streamers' clips are regular Twitch clips. Paste a clip's URL into vodfetch's clip downloader and it saves as a clean MP4 without a watermark.
How do I find a streamer's biggest clips of the year without Recap?
Type the channel name into vodfetch instead of a URL. If the channel is offline you get a browse view: its recent past broadcasts plus twelve clips sorted by view count, with Today, This week, This month and All time buttons above them. All time is the closest thing to a per-channel year in review, and clicking a card loads it for download straight away. If the channel is live you get the live stream instead — try again once it ends.
Twitch deleted the VOD my Recap was about. Can I still get it?
No. vodfetch asks Twitch for playback data in real time and stores no archive, so a removed video has nothing left to fetch and you will see "VOD unavailable (deleted, private or sub-only)". The only surviving copies would be the streamer's own local recording, a highlight they saved from the broadcast, or clips viewers cut while it was live — all three are separate objects that outlive the original VOD.
Does the "~7d left (est.)" badge mean the VOD disappears on that day?
No, it is an estimate. It is calculated from the publish date and the channel's Partner or Affiliate flag — 60 days for a Partner, 14 for an Affiliate, 7 otherwise — and only appears once the estimate is 14 days or less. Twitch publishes no deletion time, and the Prime/Turbo extension to 60 days is invisible to the tool, so a Prime streamer may have longer than the badge suggests. Cards loaded by Load more carry no badge at all, so past the first 24 you should read the publish dates yourself.
Can I keep the chat from a stream, not just the video?
Yes, for past broadcasts. The chat button only appears once you have analyzed a VOD, and it saves "<id>_chat.txt": plain text, one message per line, in the form "[1:07:42] Name: message". Clips and live streams have no chat export. If nothing comes back you get "No chat available for this VOD". Chapter markers, when a VOD has them, export the same way as "<id>_chapters.txt".
Why did my file save as .ts instead of .mp4?
Three possibilities. You were recording a live stream, which always writes TS and never remuxes. You had Format set to TS. Or the MP4 converter never loaded, in which case the download falls back to TS rather than failing. A .ts file holds the same video and plays in VLC, which is what the line "Plays in VLC; for MP4 choose Format → MP4." means. Re-run with MP4 selected if you need the container.
Is it safe to save a three-hour VOD on my phone?
It works, but the phone assembles the whole file in memory, because mobile browsers lack the File System Access API that lets desktop Chrome and Edge write directly to disk. vodfetch asks you to confirm past roughly 700 MB, or past 1.5 GB when converting to MP4; both are confirmations, not limits. For a full broadcast, trimming it into shorter pieces or moving to a desktop browser is considerably more reliable.
Ready to download? Use the free Twitch Clip Downloader.
Download your Twitch video now
Paste a Twitch link and save it as MP4 in seconds — free, no account.
Open the Twitch DownloaderRelated guides
How to Download a Twitch VOD With Chat (Video + Chat Replay)
Want the video and the chat? Here's how to download a Twitch VOD as an MP4 and export its full chat replay as a text file — free, in your browser, before the VOD is deleted.
How to Download an Entire Twitch Channel: Back Up Every VOD
A practical, honest guide to archiving every VOD from a Twitch channel: how to find the Videos tab, grab each past broadcast's URL, and save the whole channel to MP4 with the free Twitch Downloader.
How to Use a Twitch Downloader: A Beginner's Guide (VODs, Clips, Live & More)
Never downloaded a Twitch video before? Here's the simple, no-jargon guide: what a Twitch downloader is, how to use one step by step, and how to save every kind of Twitch content — VODs, clips, live streams, audio and chat — for free, right in your browser.
How to Download Twitch Highlights as MP4 (Free, Online)
To download a Twitch highlight, copy its URL (twitch.tv/videos/ID), paste it into a browser-based Twitch highlight downloader, choose a quality, and save the MP4. Highlights are creator-made clips that sit outside the VOD retention clock, so the link stays valid and you can download it anytime.
How to Download a Twitch VOD Before It's Deleted (Save It as MP4)
Twitch quietly deletes past broadcasts after 7 to 60 days. Here's how to check when a VOD expires and save it as an MP4 with the Twitch Downloader before it's gone for good.
How to Turn Your Twitch VODs Into a YouTube Channel (The Free, Honest Workflow)
Your Twitch streams are already recorded — you're just letting them expire. Here's a free, honest workflow for turning Twitch VODs into a YouTube channel: what to upload, which moments actually go viral, and how to avoid copyright strikes, without a paid AI pipeline.