whats-reader Svelte Themes

Whats Reader

Browse WhatsApp chat exports offline with AI-powered voice transcription. Privacy-first desktop/web app with bookmarks, search, and statistics. Built with SvelteKit and Electron.

WhatsApp Backup Reader

WhatsApp Backup Reader

Browse your WhatsApp exports offline. Your data stays on your device.

Latest Release CI Status License

Svelte 5 Electron 39 Local Whisper AI 100% Offline

EnglishPortuguêsEspañolFrançaisDeutschItalianoNederlands日本語中文Русский

FeaturesQuick StartExport GuidePrivacyContributing


What it does

Drop a WhatsApp .zip export and browse your messages, photos, and voice notes. Works with big chats (tested with 10k+ messages).

Voice messages can be transcribed using Whisper, which runs in your browser via WebGPU. No server, no API key needed.

Screenshots
Start Screen Chat View
Chat Options Perspective Mode
Bookmarks Statistics
Voice Transcription

Download

Get the desktop app for your platform:

Windows

  • Download WhatsApp-Backup-Reader-Setup-{version}.exe from latest release
  • Run the installer and follow the setup wizard
  • The app will auto-update when new versions are available

macOS

  • Apple Silicon (M1/M2/M3): Download WhatsApp-Backup-Reader-{version}-arm64.dmg
  • Intel: Download WhatsApp-Backup-Reader-{version}.dmg
  • Open the DMG file and drag the app to Applications
  • On first launch, right-click the app and select "Open" to bypass Gatekeeper

Linux

  • Debian/Ubuntu: Download whats-reader_{version}_amd64.deb or whats-reader_{version}_arm64.deb
    sudo dpkg -i whats-reader_{version}_amd64.deb
    
  • Fedora/RHEL: Download whats-reader-{version}.x86_64.rpm or whats-reader-{version}.aarch64.rpm
    sudo rpm -i whats-reader-{version}.x86_64.rpm
    

Or use the web version: Visit rodrigogs.github.io/whats-reader - no installation needed!


Features

  • Auto-update: Desktop app automatically checks and installs updates (Electron only)
  • Voice transcription: Transcribe audio with Whisper (runs locally, 12+ languages)
  • Search: Full-text search across messages and transcriptions
  • Bookmarks: Save messages with notes, export/import as JSON
  • Perspective mode: View the chat as any participant
  • Statistics: Message counts, activity charts, timeline
  • Dark mode: Follows system or toggle manually (preference saved)
  • Multi-language UI: English, Portuguese, Spanish, French, German, Italian, Dutch, Japanese, Chinese, Russian
  • Desktop app: macOS, Windows, Linux via Electron

Quick Start

Prerequisites

You need Node.js installed (version 18 or later). Download it from nodejs.org and run the installer.

To check if you have it:

node --version

Running the app

  1. Clone or download this project
  2. Open a terminal in the project folder
  3. Run these commands:
npm install
npm run dev
  1. Open localhost:5173 in your browser
  2. Drag and drop your WhatsApp .zip file into the page

Desktop app (optional)

If you prefer a standalone app instead of using your browser:

npm run electron:dev    # run in dev mode
npm run electron:build  # create an installer for your OS

Platform-specific builds:

npm run electron:build:mac    # macOS (dmg, zip)
npm run electron:build:win    # Windows (nsis, portable)
npm run electron:build:linux  # Linux (AppImage, deb)

How to Export from WhatsApp

First, you need to export a chat from WhatsApp on your phone. This creates a .zip file containing your messages and media.

iPhone

  1. Open WhatsApp and go to any chat
  2. Tap the contact or group name at the top of the screen
  3. Scroll down and tap Export Chat
  4. Choose Attach Media to include photos, videos, and voice messages
  5. Save the file (you can AirDrop it to your Mac, save to Files, or email it to yourself)

Android

  1. Open WhatsApp and go to any chat
  2. Tap the three dots in the top right corner
  3. Tap MoreExport chat
  4. Choose Include media
  5. Save or share the .zip file to your computer

Tips

  • Large chats may take a few minutes to export
  • The file will be named something like WhatsApp Chat with John.zip
  • Both individual and group chats work

Privacy & Security

This app is designed with privacy as the top priority. Your WhatsApp data never leaves your device.

Why it's secure

  • 100% Offline: The app works entirely without internet. No servers, no cloud, no data transmission.
  • Local processing: All parsing, search, and analysis happens in your browser or Electron app.
  • Local AI: Voice transcription uses Whisper running locally via WebGPU. No audio is sent to any server or API.
  • No tracking: Zero analytics, telemetry, or third-party scripts. No Google Analytics, no cookies.
  • No account required: No registration, no login, no personal data collected.
  • Open source: The entire codebase is public under AGPL-3.0. Anyone can audit it.

How to verify

Don't just trust us. Verify it yourself:

  1. Read the source code
    Browse the GitHub repository. The main logic is in src/lib/ and src/routes/.

  2. Check network requests
    Open the browser's DevTools (F12) → Network tab → Use the app. You'll see zero external requests (except initial page load if using web version).

  3. Test offline
    Disconnect from the internet, then use the app. Everything works because nothing requires a connection.

  4. Build from source
    Clone the repo and build it yourself:

    git clone https://github.com/rodrigogs/whats-reader.git
    cd whats-reader
    npm install
    npm run build
    
  5. Audit the Electron app
    The desktop app uses the same web code. Check electron/main.cjs and electron/preload.cjs. They only handle window management and file dialogs.


Development

Scripts

Command Description
npm run dev Start dev server at localhost:5173
npm run build Build for production
npm run preview Preview production build
npm run check Type check with svelte-check
npm run check:watch Type check in watch mode
npm run lint Lint with Biome
npm run lint:fix Auto-fix lint issues
npm run format Format code with Biome
npm run electron Build and run Electron app
npm run electron:dev Run Electron in dev mode
npm run electron:build Build Electron installer
npm run electron:build:mac Build for macOS
npm run electron:build:win Build for Windows
npm run electron:build:linux Build for Linux
npm run machine-translate Auto-translate with inlang

Adding translations

Translation files are in messages/. To add a new language:

  1. Copy messages/en.json to messages/{locale}.json
  2. Translate the strings
  3. Add the locale to project.inlang/settings.json

Built with


Contributing

Found a bug or have an idea? Open an issue on GitHub.

Want to contribute code? Fork the repo, make your changes, and open a pull request.

There are example chat files in examples/chats/ you can use for testing.


License

AGPL-3.0. You can use, modify, and distribute this software freely. If you modify it and run it as a service or distribute it, you must share your source code under the same license.

Top categories

Loading Svelte Themes