Skip to content

lowcarbdev/sbv

Repository files navigation

SMS Backup Viewer (SBV)

A modern web application for viewing SMS and MMS message backups. Import your messages from "SMS Backup & Restore" XML files and browse them in a texting app-like interface.

conversation view

Quick Start

Docker

Run the latest stable version:

docker run -d \
  -p 8081:8081 \
  -v $(pwd)/data:/data \
  -e DB_PATH_PREFIX=/data \
  ghcr.io/lowcarbdev/sbv:stable

Docker Compose

services:
  sbv:
    image: ghcr.io/lowcarbdev/sbv:stable
    ports:
      - "8081:8081"
    volumes:
      # Mount data directory for persistent database storage
      - ./data:/data
    environment:
      - PORT=8081
      - DB_PATH_PREFIX=/data
    restart: unless-stopped

Features

  • Multi-user - Create a username/password to log in
  • Import SMS Backup & Restore XML - Upload XML files from the web interface.
  • Tested with large backups - Works with multi-GB backups
  • SMS, MMS, and call logs support - Read all types of call and message records.
  • Inline image and video - View images or watch videos as you browse. Even works with Apple HEIC and 3gp videos.
  • Fast conversation filtering - Skip to the right conversation.
  • Full-text search - Find what you want fast.
  • Activity view - See it as it happened.
  • vCard preview - Preview the contents of contact cards (vCards)

Tech Stack

  • Backend: Go with SQLite database
  • Frontend: React with Vite and Bootstrap CSS
  • Database: SQLite (stores messages, including media as BLOBs)

Data Persistence

The Docker setup uses a bind mount to persist the database:

  • Host path: ./data/sbv*.db
  • Container path: /data/sbv*.db

This ensures your data survives container restarts and updates.

One sqlite database is created per user.

License

MIT

Contributing

  • Please submit any issues to github issues
  • PRs are welcome, but for anything over ~100 lines, please submit a github discussion first

Known Issues

  • Imports are somewhat slow for large imports on Linux
  • In group MMS, the sender label only shows the phone number (not contact name) because the contact name is not available in the XML file

Screenshots

login upload backup upload complete conversation view search view activity view inline images

About

Web viewer for SMS Backup & Restore XML files

Resources

License

Stars

Watchers

Forks

Packages