About
Pull Up Receipts turns a conversation from your Mac's Messages app into an FDA-style nutrition label — how many messages, who sent more, who replies faster, your most-used words and emoji, the longest streak. You pick a conversation, type the other person's name, and download the label as an image.
Everything happens on your device
There is no server. Your messages are read, counted, and drawn entirely inside your browser. You do not have to take that on faith — here are three ways to check, in increasing order of how convincing they are:
- Read the source: github.com/stunnercn/pullupreceipts.xyz.
- Open your browser's developer tools, switch to the Network tab, and generate a label. Nothing goes out.
- Generate one label, then turn off Wi-Fi and pick another conversation. It still works — the network was only ever used to load the app itself, never to send anything.
Questions
Why do I have to find chat.db myself?
Because the alternative is worse. macOS protects the Messages folder,
and an app that wanted to read it on its own would have to ask for
Full Disk Access — permanent, sweeping permission to read everything
on your machine. Handing over one file you chose is a much smaller
thing to give.
Does this work on iPhone or Windows? No. It reads
the Messages database that macOS keeps at
~/Library/Messages, which only exists on a Mac.
Why do I type the other person's name? Pull Up Receipts has no access to your contacts. The name on the label is whatever you type, which also means you can put whatever you like on it.
How are top words counted? Words are counted per person with common filler ("the", "and", "just", and similar) filtered out, so what surfaces is closer to what you actually talk about.
How is reply time calculated? Only within active stretches of conversation. Overnight gaps and week-long silences would otherwise swamp the average and make everyone look equally slow.
Is my database changed? No. chat.db is
never modified — the app only ever reads the copy of the bytes your
browser hands it.
Why did it fail on my database? Everything is held in browser memory, so there is a 1 GB ceiling. Very large or very old Messages databases can exceed what a browser tab will hold.
Where do I report a bug? Open an issue on GitHub, or email liminalcoasts@gmail.com.
Not affiliated with Apple
Pull Up Receipts is not affiliated with, endorsed by, or sponsored by Apple Inc. iMessage, macOS, and Finder are trademarks of Apple Inc., used here only to describe what the app reads.
Source
Open source under the MIT license: github.com/stunnercn/pullupreceipts.xyz.