whatisgithub

What is keepsake?

rajjayadev/keepsake — explained in plain English

Analysis updated 2026-05-18

0HTMLAudience · generalComplexity · 1/5Setup · easy

In one sentence

A single HTML page that turns an exported WhatsApp chat into a private, browsable memory archive, all in your browser.

Mindmap

mindmap
  root((Keepsake))
    What it does
      Parses WhatsApp exports
      Browser-only, no server
      Shows media inline
    Tech stack
      HTML
      JavaScript
      JSZip
    Use cases
      Archive old chats
      Search and filter messages
      Export as PDF or JSON
    Audience
      General users
    Privacy
      No uploads
      No server storage
      Closes on tab close

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Turn an exported WhatsApp chat into a searchable, private archive without uploading it anywhere.

USE CASE 2

Relive old conversations with an on-this-day feature and a year in review summary.

USE CASE 3

View chat media like photos and voice notes inline in a WhatsApp-style interface.

USE CASE 4

Save a parsed chat as a printable PDF or a JSON backup file.

What is it built with?

HTMLJavaScriptJSZip

How does it compare?

rajjayadev/keepsake100/rutgers-pbl-dining-2015a15n/a15n_old
Stars0
LanguageHTMLHTMLHTML
Last pushed2015-12-012016-06-18
MaintenanceDormantDormant
Setup difficultyeasyeasyeasy
Complexity1/51/51/5
Audiencegeneralgeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Just open index.html in a browser, no install or build step needed.

So what is it?

Keepsake is a single HTML page that turns an exported WhatsApp chat into a private, browsable memory archive. A person exports a chat as a .txt or .zip file from WhatsApp, opens that file in this page, and everything, including reading, searching, and displaying photos or voice notes, happens entirely inside their own browser. Nothing is uploaded anywhere, and closing the browser tab clears the data, since there is no server involved at all. The page can read both iOS and Android export formats, including messages that span multiple lines and system notices like someone joining a group. If a chat was exported with media included, it unzips that file in the browser and shows photos, videos, and voice notes inline as chat bubbles styled to look like WhatsApp itself, with a teal header and colored message bubbles. Users can choose whose messages appear on which side of the screen and can search the full conversation or filter by sender. Beyond just viewing the chat, Keepsake adds some extra touches: it counts messages, tracks the longest streak of active days, and shows the most used words. It also has an "on this day" feature that pulls up a message from the same date in a past year, and a year in review summary with a monthly chart, busiest month, and top emoji or word. The parsed archive can be saved as a JSON file, and the whole conversation can be printed or exported as a clean PDF formatted for standard paper. To use it, someone just opens the index.html file in a browser directly, with no installation or build step required. It can also be hosted as a static website, for example through GitHub Pages. Loading a plain text export makes no network requests at all, though loading a zipped export does pull in a small unzipping library from a public content delivery network.

Copy-paste prompts

Prompt 1
Walk me through exporting a WhatsApp chat and opening it in Keepsake.
Prompt 2
Explain how Keepsake keeps my chat data private with no server involved.
Prompt 3
Help me host Keepsake as a static site on GitHub Pages.
Prompt 4
Show me how the year in review and on this day features work in Keepsake.

Frequently asked questions

What is keepsake?

A single HTML page that turns an exported WhatsApp chat into a private, browsable memory archive, all in your browser.

What language is keepsake written in?

Mainly HTML. The stack also includes HTML, JavaScript, JSZip.

How hard is keepsake to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is keepsake for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.