iMessage Wrapped 2026: how to see your texting year on a Mac
There's no official iMessage Wrapped for 2026. Here's how to make one on your Mac with free GitHub tools, what each needs, and how to get a WhatsApp wrapped too.
The short answer
- Apple doesn't make an iMessage Wrapped; the yearly recaps people share come from free, open-source tools that read the Messages database on a Mac.
- Every iMessage Wrapped tool needs Full Disk Access, either for Terminal or for the tool's own app, because macOS protects your Messages history.
- MiMessage is the best-known regular Mac app, but its current version is a beta; whyisjake's script is the simplest Terminal option and works offline.
- Check what a tool does with your data: one of them uploads aggregated statistics by default to make a shareable link.
- For a WhatsApp, Telegram or Instagram wrapped, export the chat and open it in a free browser analyzer that never uploads the file.
There’s no official iMessage Wrapped for 2026: Apple doesn’t make a yearly recap for Messages, and we found no “Messages Wrapped” on Apple’s site either. To see your texting year, you use a free, open-source tool from GitHub that reads the Messages database on your Mac, and every one of them needs Full Disk Access, either for Terminal or for the tool’s own app. The easiest to run is MiMessage, a regular Mac app (its current version is a beta); the simplest Terminal option is a short script by Jake Spurlock that needs only Python, which macOS offers to install. For WhatsApp, Telegram and Instagram, our free browser analyzer gives you similar stats from a chat export.
Below: what you need before you start, the tools compared (we checked each one’s GitHub page and README on 20 October 2026, and read the code of the two scripts we walk through), step-by-step instructions, and how to get a “WhatsApp wrapped” without uploading your chats anywhere.
What does every iMessage Wrapped tool need?
Three things: your full history on a Mac, Full Disk Access, and a few minutes in Terminal for most of them.
- Your history on the Mac. The tools only count what’s in your Mac’s copy of Messages. In Messages, choose Messages → Settings, click iMessage, and make sure Enable Messages in iCloud is selected (Apple). If you’ve just turned it on, give older messages time to download.
- Full Disk Access. Your history lives in a protected file,
chat.db. Whatever reads it (Terminal, or the tool’s app) needs System Settings → Privacy & Security → Full Disk Access. That permission opens far more than Messages, so turn it off again when you’re done; our Full Disk Access explainer covers why. - Contacts (optional). Without access to Contacts, most tools show phone numbers and emails instead of names.
Which iMessage Wrapped tool should you use?
For a regular app, MiMessage. For a quick, private recap in Terminal, whyisjake’s script. For shareable slides, jfonsecarivera’s script. Here’s how they compare:
| Tool | What it is | What you get | Needs | Last updated | Watch out for |
|---|---|---|---|---|---|
| MiMessage | Mac app, downloaded from GitHub | Wrapped stats, plus search and conversation export | Full Disk Access and Contacts for the app | 1.2.0 beta (6 Sep 2026); last stable release April 2023 | Optional semantic search and AI chat use your own OpenAI API key, which sends your messages’ text to OpenAI |
| whyisjake/imessage-wrapped | Python script, standard library only | Totals sent and received, reactions, months, blue vs green bubbles, top 10 most texted, optional CSV | Full Disk Access for Terminal | Feb 2026 | Its top-contacts list counts every group-chat message towards each member of the group |
| jfonsecarivera/imessage-wrapped | Shell script | Animated slides for one contact, one group or all your messages; --list-contacts for your top contacts |
Full Disk Access for Terminal | Jan 2026 | Defaults to 2025: add --year 2026 |
| jaswsunny/imessage-wrapped | Python project | The deepest report: top contacts by year, heatmaps, vocabulary, sentiment | Python 3.10 or newer, several packages, Full Disk Access | Jan 2026 | Most setup: the Python that macOS installs is 3.9, so you need a newer one |
| advayc/wrapped | Go program | A wrapped web page; --year, and --redact for sharing |
Full Disk Access for Terminal | Jul 2026 | The quick start pipes a script from the internet straight into your shell, which then downloads a prebuilt program |
| gtarpenning/imessage-wrapped | Python package and a Mac app | A dashboard and a shareable link | Python 3.10 or newer (or its app), Full Disk Access | Jan 2026 | By default it uploads aggregated statistics, including a few of your most common phrases, to make the link; --no-share keeps results local |
A few others you’ll see in search results: Michael Danello’s iMessageWrapped from 2020 hasn’t been updated since early 2021, so skip it. A newer project by NoelSason turns a conversation into a password-locked page to share and has unusually beginner-friendly Terminal instructions, but it’s very new. And if you use Claude or Codex, imessage-mcp lets the assistant answer questions like “who did I text most this year” from your Messages history, but the messages it reads go to that AI provider (its --privacy aggregate mode limits that to counts).
Step by step: your year in Messages with whyisjake’s script
This one needs nothing but Python, which macOS offers to install for you, opens your Messages database in read-only mode, and doesn’t connect to the internet. It prints your recap straight into Terminal.
- Give Terminal Full Disk Access. Open System Settings → Privacy & Security → Full Disk Access, click +, choose Terminal from Applications → Utilities, and confirm. Quit Terminal with ⌘Q and reopen it.
- Download the script. On the project page, click Code → Download ZIP. Double-click the ZIP in Downloads if your browser didn’t unzip it; you get a folder called
imessage-wrapped-main. - Run it for this year. In Terminal, paste these two lines one at a time, pressing Return after each:
cd ~/Downloads/imessage-wrapped-main
python3 imessage-wrapped.py 2026
If macOS offers to install the “command line developer tools”, click Install, wait, and run the second line again. Without a year, the script shows last year’s recap, which is what you want in January.
- Read your recap. You’ll see total messages sent and received, the reactions you give and get, messages by month, iMessage versus SMS, and your 10 most-texted contacts, with names where it can match them in your Contacts. Add
--csvto the end of the command to save it as a spreadsheet. - Switch off Full Disk Access for Terminal when you’re finished.
For an exact ranking of conversations instead of contacts (so group chats don’t inflate anyone’s count), use the one-line command in our guide to seeing who you text the most.
Want slides to share? Use jfonsecarivera’s script
This script builds an animated web page, Spotify Wrapped style, using the sqlite3 tool that comes with macOS, and the page it makes loads nothing from the internet. After the same Full Disk Access step and Code → Download ZIP on its project page (if macOS adds a number to the folder name because you downloaded the other script too, use that name in quotes, such as cd ~/Downloads/"imessage-wrapped-main 2"):
cd ~/Downloads/imessage-wrapped-main
chmod +x imessage-wrapped.sh
./imessage-wrapped.sh --all --year 2026
It prints the name of the HTML file when it’s done; open it in any browser. Use --group "group name" for one group chat, a phone number for one person, or --list-contacts --year 2026 to see your top contacts for the year.
Before you share your wrapped
A wrapped is fun to post, but it shows other people’s names, numbers and sometimes their messages. Before you screenshot it:
- Crop or blur contact names and phone numbers, or use a tool’s redaction option (advayc’s
--redact, or--privacyin jfonsecarivera’s script, which shows first names only). - For a group chat wrapped, ask the group before posting it publicly; the slides may quote “memorable messages”.
- Don’t post the HTML or CSV files themselves: they’re built from your private data.
How do you make a WhatsApp, Telegram or Instagram wrapped?
WhatsApp has no official Wrapped either, so export the chat and open it in our free WhatsApp Wrapped page, which reads the file in your browser and never uploads it. It picks the year’s winners on one card you can save as a picture, and below the card shows messages and words per person, who starts conversations, each person’s typical reply time, double texts, activity by weekday and hour, the busiest day, the longest streak of days in a row, and the most-used words and emoji. It handles group chats too, and it uses no AI. If your group wants to hand out prizes, see our group chat awards.
- WhatsApp: on your phone, open the chat, tap its name (iPhone) or ⋮ → More (Android), choose Export chat → Without media, and open the ZIP on the WhatsApp Wrapped page. The phone apps don’t offer a date range, so the page opens on the latest year in the file and lets you pick another.
- Telegram: in Telegram Desktop, open the chat, click ⋮ → Export chat history, set the date range to this year, choose Machine-readable JSON, and open
result.jsonin the Telegram chat analyzer. For every chat at once, use Settings → Advanced → Export Telegram data instead; the analyzer lists each chat in the file. - Instagram: request your messages from Accounts Center → Your information and permissions → Export your information, with this year’s dates and JSON as the format, then open the whole ZIP in the Instagram chat analyzer and pick a conversation from the list. The download link can take a while to arrive.
Our guide to exporting chats on a Mac has every step in full, including what each export leaves out.
A wrapped every week instead of once a year?
A wrapped tells you who you texted in December, after the fact. If you’d rather notice who’s drifting while there’s still time to do something about it, Tera Chat for Mac, a free app made by the team behind this blog, brings iMessage, WhatsApp, Telegram, Instagram and Tinder into one inbox and gives every contact a relationship health score based on the last 30 days. With AI set up, it also puts together a short weekly digest every Sunday morning: who’s warming up, who’s drifting and who to message. It needs a Mac with Apple silicon and macOS 15 or later, and reading iMessage needs the same Full Disk Access as the tools above. Our explainer on relationship insights shows how the score works. For the wider picture, see the best messaging apps for Mac and how to combine WhatsApp, iMessage, Telegram and Instagram in one Mac app.
The short version
- Turn on Messages in iCloud on your Mac and let it sync.
- Give Terminal (or MiMessage) Full Disk Access.
- Run whyisjake’s script for a quick private recap, or jfonsecarivera’s for slides.
- Switch Full Disk Access off again.
- For WhatsApp, Telegram and Instagram, export the chat and open it in the analyzer.
Frequently asked questions
Is there an iMessage Wrapped app on iPhone?
Not from Apple. The tools in this guide run on a Mac, where your Messages history is stored in a database they can read. An iPhone app can't read your Messages history on its own.
Is iMessage Wrapped safe?
It depends on the tool. The ones we looked at run on your Mac, and the two scripts we walk through read your messages without changing them or sending anything online. The risk is the Full Disk Access you grant Terminal, so switch it off when you're done, and avoid tools that upload data unless you've read what they send.
Why are my iMessage Wrapped numbers lower than expected?
Usually because your Mac doesn't have your full history. Turn on Messages in iCloud in Messages → Settings → iMessage and give it time to download older messages, then run the tool again.
Can I make a wrapped for one group chat?
Yes. jfonsecarivera's script has a --group option for a single group chat, and MiMessage shows stats per conversation. For a WhatsApp group, export it and open it in the chat analyzer, which handles group chats.
When should I run it?
After 31 December if you want the full year. whyisjake's script defaults to the previous year, so running it in January needs no options.
Published . How we write and check our guides. Spotted something out of date? Email hello@terachat.co.