Loose Ends app icon Loose EndsMac utility for your Messages archive

macOS 15 or later

Mac message export with a receipt attached

Loose Ends reads every message on your Mac in one pass and exports it to PDF, CSV, TXT or HTML. Then it tells you how many messages it could not read, so you never have to take an export on faith.

Download on the Mac App Store

Free. No account, nothing uploaded.

The Loose Ends completeness receipt: 13,350 messages in the database, 13,350 read into Loose Ends, none that could not be read.

The part nobody else shows you

An export you cannot check is an export you have to trust.

Most messages are not stored as plain text on your Mac. They sit in a binary blob that has to be decoded, and every exporter fails on some of them. Almost none of them say so.

Loose Ends counts every row it found, every row it decoded and every row it had to skip, and writes that count into the file it hands you. If something was lost, the number is right there, and it is yours to check against Messages.

Every receipt answers three questions

  1. How many messages your database held
  2. How many of them were read
  3. How many could not be, and why

The receipt is on screen after every read, and it is written into every file you export, so whoever opens that file years from now can tell what it skipped.


01  /  Today

The questions you never answered

Every conversation leaves something open. Loose Ends reads the whole archive and collects four kinds: a question nobody answered, a promise you made, a promise made to you, and a plan that never got a date. Each one carries the sentence it came from, so you can see why it was flagged. Mark it done, snooze it, dismiss it, or open a reply in Messages with nothing typed for you.

The Today view listing open loops: unanswered questions, promises made and owed, and plans with no date, each with the message it came from.

Filter by whose move it is. Sweep the old ones in one pass.


02  Export

PDF for reading, CSV for working

Export the entire archive, one person, one conversation, a date range, or just the results of a search. PDF, CSV, TXT or HTML. The completeness receipt travels inside the file, so whoever opens it later can tell exactly what was skipped.

366,600 messages read in 5.1 seconds, measured.

The Export sheet: choose the entire archive or a narrower selection, pick PDF, CSV, TXT or HTML, with the completeness receipt written into the file.

03  Search

Finds the words you did not use

Full text search across every message and every year, fast enough to type into. Turn on related words and a search for dinner also finds brunch, lunch and supper. Turn on phrasings and it adds the way people actually write it: grab a bite, get food. Export the results with their own receipt.

Measured at 63 to 79 percent more matches on the same query.

Search results for dinner, with related words and phrasings shown as chips under the field and every match dated.

04  Reconnect

The people who went quiet

Not everyone you have not texted lately matters. Reconnect ranks the people you had a real back and forth with, over years, who have now gone months without a word, and shows the last thing either of you said. Nothing here is a model's opinion. It is arithmetic on your own history.

Reconnect listing five people gone quiet for months, each with how long they have been quiet, how many loops are open and the last thing said.

05  Ask

Ask in your own words

Type a question the way you would say it. Who do I text the most. How many messages did I send in 2024. Loose Ends answers from tools that run over your archive, prints the rows it worked from, and names the lookups it ran. It never writes a sentence your own messages cannot back.

Requires macOS 26.

Ask answering who do I text the most, with the answer above a Worked out from your archive table showing the counts it used.

06  Wrapped

A year of messages, read in a minute

How many messages, who you talked to, the hours you write in, the longest run of days you never missed, and the people you have not heard from since. One year at a time, counted rather than guessed, and it works offline like everything else here.

Wrapped for 2026: total messages, who you talked to most, when you write, your longest streak and the people last heard from.

Also in the app

The rest of what a message archive is good for

A page for every person

First message and last, how many each way, who tends to start, and how long each of you takes to reply.

Group threads in place

The rooms you share with someone open right on their page, a name over every bubble, one click back.

One folder, not the whole disk

Loose Ends asks for your Messages folder, not Full Disk Access, and you can revoke it whenever you like.

Nothing is invented

Where the on-device model writes, it may only quote your archive, and the quote is checked against the real message before you ever see it.

Privacy

Your messages stay on this Mac

This app reads years of private conversation. That is exactly why none of it goes anywhere.

  • Nothing from your messages is ever sent. Not the text, not names, not phone numbers, not addresses, not attachments, not even the dates of your conversations.
  • No account and no sign in. There is no server to hold anything, so there is nothing to leak, sell or subpoena.
  • One folder grant, revocable. You point Loose Ends at your Messages folder once. It never asks for Full Disk Access, and macOS lets you take the grant back.

If the app hits an error or crashes, it reports the error itself along with an anonymous install identifier, so it can be fixed. Every field in that report is filtered before it is sent, and nothing from your archive is in it.

Every message you have sent is already on this Mac.

Read it, search it, export it, and check the export.

Download on the Mac App Store

Free. macOS 15 or later.