Beta
Windows Mac Privacy Local-First Python

TikTok Archive Viewer

Your content, your machine. No cloud, no account, no expiry date.

TikTok Archive Viewer is a local-first tool for importing, browsing, and permanently preserving your TikTok data export. It was built for a specific, practical purpose: giving people a complete, searchable record of their favorited, reposted, and DM-shared videos before leaving the platform — without relying on any cloud service, third-party account, or network connection after setup.

The design decisions here were made in service of one principle: this tool should work forever, on any machine, with no maintenance required. There are no external dependencies beyond Python's standard library — no Flask, no FastAPI, no npm packages, no version conflicts waiting to happen. The server runs on stdlib's http.server; the frontend is plain JavaScript. In five years, when every framework has had two breaking versions, this still works.

Data is never sent anywhere. The application runs as a local web server on your machine, stores everything as plain JSON files you can inspect and back up, and contacts the network only when you explicitly request a video download.

How it works

Two clean components

01

Export processing

A Python script reads TikTok's JSON data export, extracts video IDs from three sources — favorites, reposts, and DM-shared links — deduplicates across all three, and downloads the videos via yt-dlp with atomic progress tracking. Each download writes its status to a JSON file so the process survives interruption.

02

Local archive viewer

A lightweight Python server serves a single-page application that reads the output JSON files and renders your full archive — browsable by video, searchable by comment text, filterable by source. The two components communicate only through the filesystem: clean, auditable, and trivially debuggable.

Architecture

Zero dependencies, maximum durability

The decision to use only Python's standard library was deliberate. Every external dependency is a future maintenance burden: a package that stops being maintained, a breaking API change, a security patch that requires updating six others. By depending on nothing, the tool inherits the longevity of the Python runtime itself — which is exceptional.

The server uses atomic JSON writes throughout. Progress state, configuration, and archive data are all written atomically to prevent corruption from interrupted runs — a small detail that makes a meaningful difference for a tool designed to process thousands of items in a single session.

The single-page application is intentionally framework-free. Vanilla JavaScript handles routing, state, and rendering. There is no build step, no bundler, no transpilation. The browser loads one HTML file, one CSS file, and one JS file — and everything works.

Technical Stack

  • Python (stdlib only) HTTP server + export processing
  • Vanilla JavaScript Single-page archive UI
  • yt-dlp Video download engine
  • JSON Local data storage format
  • No cloud services 100% local operation
  • No external dependencies Zero version risk
10,000+ Comments linked by fuzzy matching
3 Video sources: favorites, reposts, DMs

Capabilities

Everything you need, nothing you don't

Full-Text Comment Search

Search across all your comments and match them to the videos they came from — even across accounts and data exports.

Multi-Account Support

Import exports from multiple TikTok accounts and browse them side-by-side in a single local interface.

Managed Video Downloads

Download videos in configurable batches via yt-dlp, with live progress polling and per-item status tracking. Resume interrupted sessions without re-downloading.

DM Context Viewer

Videos shared via DM are displayed alongside their original conversation thread — preserving the context that made them memorable.

Runs in Any Browser

Serves a clean web UI on localhost:8642 — accessible from any browser on the same machine or local network, with no installation beyond Python.

Truly Private

No analytics, no tracking, no external requests. Every byte of your data stays on your machine — the application cannot phone home because it was never built to.

Local-First Philosophy

Software that works for you, not around you.

TikTok Archive Viewer is part of a broader approach to software: tools that run on your machine, store data in formats you control, and require nothing from you after setup except the data you already have.