gitwtfhub

wtf is wrapped?

advayc/wrapped — explained in plain English

Analysis updated 2026-05-18

1GoAudience · generalComplexity · 2/5Setup · easy

TL;DR

Wrapped is a macOS command line tool that reads your local iMessage history and generates a Spotify Wrapped style summary website of your texting stats.

Mindmap

mindmap
  root((wrapped))
    What it does
      Reads local iMessage data
      Generates stats website
      Stays fully local
    Tech stack
      Go
      macOS
      HTML
    Use cases
      Yearly recap
      Multi year comparison
      Custom date range
    Requirements
      Full Disk Access
      macOS only

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

Why would anyone build with this?

REASON 1

Generate a personal year-in-review style summary of your iMessage activity entirely on your own Mac.

REASON 2

Compare texting stats across several past years using the --years flag.

REASON 3

Look at message activity for just the last 90 days or a custom date range.

REASON 4

Produce a redacted version of the stats to share without exposing sensitive message content.

What's in the stack?

GomacOSHTML

How it stacks up

advayc/wrappedaegrail/aegrail-engineaeneasr/form
Stars111
LanguageGoGoGo
Last pushed2019-03-08
MaintenanceDormant
Setup difficultyeasyhardeasy
Complexity2/55/52/5
Audiencegeneralops devopsdeveloper

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

How do you spin it up?

Difficulty · easy Time to first run · 5min

Requires macOS with Full Disk Access granted to the terminal so it can read the local Messages database.

No license is stated in the README, so usage rights are unclear.

Wtf does this do

Wrapped is a small command line tool for macOS, written in Go, that gives a person a Spotify Wrapped style summary of their own iMessage history. It reads directly from the local Messages database on the Mac, lets the user pick a time period in the terminal, and then opens a locally generated website showing statistics about their texting habits over that period. Everything happens on the user's own machine and nothing is sent anywhere else. Getting started can be as simple as pasting a single curl command into Terminal, which downloads and runs a setup script without needing Go installed or the repository cloned first. That script normally looks for a prebuilt macOS program and downloads it into a local cache if it is not already present. Someone who prefers working from the Go source directly can opt into that path instead, either by setting an environment variable before running the script or by running the Go command directly from a cloned copy of the repository. Using the tool requires macOS to grant the terminal Full Disk Access, since reading the Messages database needs that permission. Once it runs, Wrapped writes its results into a local output folder as an HTML page and a JSON data file, then opens that page automatically in the browser. Reactions like tapbacks are counted separately from regular messages rather than being treated as normal texts. The tool supports several command line flags to control which messages are included in the summary: choosing a specific year, several years at once, the last set number of days, a custom date range, or all available history. There is also a flag to redact sensitive details from the output and one to stop the results page from opening automatically. The README does not mention a software license.

Yoink these prompts

Prompt 1
Explain how Wrapped generates an iMessage stats summary without uploading any data.
Prompt 2
Walk me through the fastest way to run Wrapped on my Mac using the curl script.
Prompt 3
What does the --redact flag do when generating my iMessage wrapped stats?
Prompt 4
How do I run Wrapped for a custom date range instead of a full year?

Frequently asked questions

wtf is wrapped?

Wrapped is a macOS command line tool that reads your local iMessage history and generates a Spotify Wrapped style summary website of your texting stats.

What language is wrapped written in?

Mainly Go. The stack also includes Go, macOS, HTML.

What license does wrapped use?

No license is stated in the README, so usage rights are unclear.

How hard is wrapped to set up?

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

Who is wrapped for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.