Guides

How to search old iMessages on a Mac, 3 ways.

Find a text from years ago without scrolling for an hour. Messages has a search field that works well for recent chats, Terminal can dig through everything for free, and Textlore searches every year as you type.

Updated 21 October 2026. For Messages on macOS 26 and later.

Quick answer

In Messages on your Mac, click the search field at the top of the sidebar, type a word you remember and press Return. Click a result to open the conversation at that message. If old texts don't show up, check that Keep messages is set to Forever and that Messages in iCloud has finished syncing.

WayBest forCatch
Messages searchRecent chats, quick lookupsNo date filter. Only finds what is on this Mac.
TerminalFree, every message on your MacTechnical. Misses text that newer macOS stores in a coded form.
TextloreYears of history, filters by person, date and typePaid app after a 14-day free trial.

1. Search in the Messages app

The search field in Messages looks through every conversation on your Mac, not just the one that's open.

  1. Open Messages and click the search field at the top of the sidebar.
  2. Type a word or phrase from the message. Messages suggests matching conversations, photos, links and places as you type.
  3. Add another word, or pick a suggestion or a filter below the search field, such as a person, to narrow the results.
  4. Press Return to see all results, grouped into conversations, links, photos, locations and documents.
  5. Click a result. The conversation opens at that message, with the messages before and after it.

Messages can also find text inside photos, so searching for a word on a screenshot or a sign can turn up the picture.

Where it falls short

  • No date filter. You can't ask for messages from 2019 or from last March. If you need that, see how to search iMessages by date.
  • It only searches this Mac. If Messages in iCloud is off, your Mac only has the texts it received itself. If Keep messages is set to 30 Days or 1 Year, older conversations were removed.
  • Old texts can be missing while syncing. On a new Mac, or right after you switch on Messages in iCloud, it can take a while for your whole history to download.
  • Common words bring back a long list. Searching for dinner in 10 years of texts gives you hundreds of hits, and you can't narrow them by year or by whether you sent or received them.

Make sure your old messages are on your Mac

  • On your Mac, open Messages > Settings > General > Keep messages and choose Forever.
  • On your Mac, check Messages > Settings > iMessage > Enable Messages in iCloud, then click Sync Now.
  • On your iPhone, open Settings > [your name] > iCloud > See All > Messages in iCloud > Use on this iPhone.

2. Search the Messages database in Terminal

Messages keeps your history in a database file called chat.db in your Library folder. macOS comes with a tool called sqlite3 that can search it. It's free and searches every message on your Mac at once, but you'll be typing commands.

  1. Open System Settings > Privacy & Security > Full Disk Access and switch on Terminal. Without it, macOS blocks Terminal from the Messages folder.
  2. Open Terminal and paste this to copy the database into a folder on your desktop, so you never work on the live file:
mkdir -p ~/Desktop/messages-copy && cp ~/Library/Messages/chat.db* ~/Desktop/messages-copy/
  1. Paste this command, change cabin to the word you're looking for, and press Return:
sqlite3 ~/Desktop/messages-copy/chat.db "SELECT datetime(m.date/1000000000 + 978307200, 'unixepoch', 'localtime'), h.id, m.text FROM message m LEFT JOIN handle h ON h.ROWID = m.handle_id WHERE m.text LIKE '%cabin%' ORDER BY m.date;"
  1. Each line shows the date and time, the phone number or email of the other person, and the message. Your own messages show the same way, so read the conversation around them to tell who said what.

Where it falls short

  • Some messages come back blank. On recent versions of macOS, many messages keep their text in a coded column instead of the plain text one, so this search can't see them.
  • Numbers, not names. You see phone numbers and emails, not the names in your Contacts.
  • Text only. Photos, links and files don't show.
  • Clean up after. The copy on your desktop holds your whole history. Delete the folder when you're done, and switch Terminal off again in Full Disk Access.

3. Search every year with Textlore

Textlore is a Mac app that reads your whole Messages history and searches it as you type, with filters for people, dates and photos. It only reads: it never sends, edits or deletes a message, and nothing leaves your Mac.

  1. Install it. Download Textlore, open it and switch on Full Disk Access when it asks. macOS keeps your Messages history in a protected folder, and this lets Textlore read it. About 100,000 messages import in under a minute.
  2. Press ⌘F and type. Results narrow with every letter and your words are lit up in amber. Use ↑ and ↓ to move through them and Return to open the conversation at that message.
Search in Textlore, with the match lit up in amber in its conversation.Search in Textlore, with the match lit up in amber in its conversation. Dark appearance.
  1. Narrow it down with search words. from:Jordan finds what Jordan sent you, in:Family searches one group, before:2023 and after:march 2021 set dates, has:photo or has:link finds messages that came with one, is:sent finds only yours, and quotes find an exact phrase such as "see you soon".
  2. Search from anywhere. Press ⌥Space in any app and a small search bar floats over your work. Pick a result and Textlore opens at that message.

If nothing matches, Textlore suggests a spelling it did find. When you can't remember the words at all, Ask AI on Macs with Apple Intelligence answers questions such as “When did we book the cabin?” with Apple's on-device model, and lists the messages it used.

Textlore also keeps its own copy of your messages, so a text stays searchable even after Messages deletes it or clears space. See Searching in Help for every search word.

Search every year of your messages in a few minutes. Every feature is free for 14 days. No account, no email, no card.

Questions

Why can't Messages find an old text I know exists?

Usually it isn't on this Mac. Check that Keep messages is set to Forever in Messages > Settings > General, and that Messages in iCloud is on and has finished syncing. Then try a different word from the message, since search matches the words you type.

Can I search iMessages by date on a Mac?

Not in Messages. You can scroll, search the database in Terminal, or use before:, after: and during: in Textlore. The guide on searching iMessages by date covers each way.

Can Messages find words inside photos?

Yes. Messages on a Mac can search for text or objects inside images, so a word on a screenshot can turn up the photo.

Can I search the texts from my iPhone on my Mac?

Yes, once Messages in iCloud is on for both your iPhone and your Mac. Your Mac then has the same conversations, and every method on this page searches them.

Does searching change anything in Messages?

No. Searching in Messages, a copy of the database, or Textlore only reads your messages. Textlore never sends, edits or deletes a message.

Every old text, one search away.

Download Textlore and search every year of your Messages history. Free for 14 days.