All tools YouTube Watch History Analyzer ● Live YouTube / Data How this tool works

YouTube Watch History Analyzer

YouTube Watch History Analyzer turns your Google Takeout export into readable viewing insights inside your browser. Upload a local file, inspect watch-entry volume, surface timestamps and channel patterns, and understand viewing habits without sending data to a server.

YouTube Watch History Analyzer Runs locally

YouTube / Data

Watch history snapshot

Read a Google Takeout watch history file locally and get a quick summary of channels, dates, and viewing patterns. Nothing is uploaded.

ZIP support is still enabled. The archive is opened locally only to find watch-history.json or watch-history.html from Google Takeout.

Videos

-

Channels

-

Peak time

-

Quick insights

Select a Takeout file to see summary metrics here.

Top channels

Waiting for file-

Activity by hour

0006121823

Days of week

Sun
-
Mon
-
Tue
-
Wed
-
Thu
-
Fri
-
Sat
-

Recent months

Waiting
-
Step by step

How to use it

  1. Go to takeout.google.com while signed into the Google account whose YouTube history you want to inspect.

  2. Click 'Deselect all', then check only 'YouTube and YouTube Music', and set the export format to JSON.

  3. Request the export. Google will prepare a .zip file and email you a download link (usually within a few minutes for history-only exports).

  4. Unzip the archive and locate watch-history.json inside the 'YouTube and YouTube Music/history/' folder.

  5. Open this tool and drag watch-history.json into the upload area, or click to browse for the file.

  6. Review your dashboard: total videos watched, top channels, activity over time, and a searchable list of individual entries with links back to YouTube.

When to use it

Use cases

  • Find out how many videos you've watched from a specific channel over the past year before deciding whether to unsubscribe.

  • Spot binge-watching patterns — late-night sessions or sudden spikes — as part of a digital wellbeing review.

  • Recover links to videos you watched but lost track of, without scrolling through YouTube's slow built-in history page.

  • Audit your own data before requesting Google to delete your account or clear your watch history.

  • Get a quick overview of your viewing habits for a year-in-review post or personal record.

Limits & privacy

What this tool does and does not do

Private by design

Your watch-history.json file is read and parsed entirely in your browser using JavaScript. It is never uploaded, transmitted, or stored on Small Web Apps servers — closing the tab clears everything from memory.

  • Only reads the watch-history.json file from Google Takeout — it does not connect to your live YouTube account or the YouTube API.

  • Only includes videos watched while signed in with watch history enabled; private or paused-history sessions are not recorded by Google in the first place.

  • Removed or deleted videos appear in the list but without title, channel, or thumbnail information, since YouTube no longer serves that metadata.

Background

What watch-history.json actually contains

Google Takeout exports your YouTube watch history as a flat JSON array. Every element is one viewing event, and the fields are the same whether the export covers a week or a decade. Knowing the shape matters because it explains what this analyzer can and cannot tell you.

The export is text only. It records that you watched something and when, but carries no watch duration, no percentage watched, and no video length. Any tool claiming to show your total hours watched from a Takeout export is estimating, not measuring.

title
The video title prefixed with the literal string 'Watched '. For videos that were later deleted or made private, the value reads 'Watched a video that has been removed' and no real title is recoverable.
titleUrl
The canonical watch URL, in the form https://www.youtube.com/watch?v=VIDEO_ID. Absent on removed videos.
subtitles[0].name
The channel name. This analyzer falls back to 'Unknown Channel' when the field is missing, which is normal for removed or private videos.
subtitles[0].url
The channel URL. Same caveat as the name field.
time
An ISO 8601 timestamp for the view. This is the field every chart on this page is built from.
activityControls
An array naming the Google setting that recorded the entry. Watch events list 'YouTube watch history'.
Background

How this analyzer decides what counts as a view

Two filters run before anything is counted. An entry is included only if its activityControls array contains 'YouTube watch history', and only if its title begins with 'Watched '. Everything else in the file is discarded.

That second filter matters more than it looks. A combined MyActivity.json export mixes searches, comments, and subscriptions into the same array, and those entries begin with 'Searched for' or similar. Filtering on the 'Watched ' prefix keeps searches out of your view count. It also means this tool reports a lower number than any tool that simply counts array length — that difference is intentional, not a bug.

Ads are not separated out. If an entry was recorded as a watch event, it is counted as one.

Background

JSON versus the HTML export, and why the format matters

Takeout offers both JSON and HTML for watch history. This analyzer reads either, plus the .zip or .tgz archive straight from Takeout without you having to unpack it first — the tar reader runs in the browser alongside everything else.

Prefer JSON. The HTML export is a rendered page, not structured data: entries live in .content-cell blocks where 'Watched ' is a bare text node, the first link is the video, the second is the channel, and the timestamp is whichever text node happens to contain a four-digit year.

That timestamp is written in your Google account's display language, so parsing it is locale-dependent. This tool currently handles the English format and the Portuguese 'DD de MMM de YYYY' format including BRT and BRST offsets. Other locales fall back to the browser's own date parser and may produce wrong dates. If your charts look shifted, re-export as JSON — the ISO timestamps there are unambiguous.

Questions

Frequently asked questions

Does this tool upload my watch history file?

No. The entire analysis runs inside your browser tab. The file is never transmitted to any server.

Is this a full YouTube analytics replacement?

No. It is a lightweight inspection tool designed to give you quick insights from a Takeout export. It does not track future views or connect to the YouTube API.

How do I get my Google Takeout export?

Visit takeout.google.com, deselect everything except 'YouTube and YouTube Music', choose JSON as the format, and request the export. Google will email you a download link, usually within minutes for history-only exports.

Why does Takeout offer both JSON and HTML formats?

HTML is meant for viewing in a browser as a static page; JSON is structured data meant for tools like this one. This analyzer only reads the JSON version — if you exported HTML, re-request the export and choose JSON.

Can I analyze search history or only watch history?

This version focuses on watch-history.json. Search history is stored in a separate file (search-history.json) and is not currently parsed, but the same privacy-first approach would apply if support is added.

What happens to entries with missing titles or 'Watched a video that has been removed'?

Those entries are still counted toward totals and timestamps, but channel and title information is shown as unavailable since YouTube no longer provides metadata for removed videos.

Will this work with a multi-gigabyte Takeout export?

The watch-history.json file itself is usually only a few MB even for years of history, since it contains text only (titles, links, timestamps). The tool can handle tens of thousands of entries without issues on a modern device.