Spotlight Indexing Stuck or Never Finishing on Mac
Short answer
A full index after a migration or major update takes 1-6 hours and makes the fans run, which is normal. Check whether it is progressing with sudo mdutil -s / in Terminal. If indexing has genuinely stalled, rebuild it by adding your disk to the Spotlight privacy list in System Settings → Siri & Spotlight and then removing it, which forces a fresh index.
On this page
Spotlight indexing after a restore, a migration or a major macOS update is
supposed to be slow. The Mac runs warm, the fans come on, mds_stores sits near
the top of Activity Monitor, and search returns partial results for hours.
The question worth answering is whether yours is progressing slowly or not progressing at all. Those have different fixes, and the second is much rarer than the internet suggests.
Check whether it is actually working
Open Terminal (Applications → Utilities → Terminal) and ask macOS directly:
sudo mdutil -s /
You get the indexing state for the boot volume. The useful outcomes:
| Response | Meaning |
|---|---|
| Indexing enabled | It is on and either working or idle |
| Indexing disabled | Turned off, so nothing will ever complete |
| Indexing and scanning disabled | Volume is on the privacy list |
| Error or no index | The index is missing and needs rebuilding |
Then check whether work is happening. In Activity Monitor with View set to
All Processes, look for mds, mds_stores and mdworker. Activity on
those — any meaningful CPU, or disk reads on the Disk tab — means it is
indexing. A completely idle set of mds processes alongside a Spotlight menu
still claiming to index is the signature of a genuine stall.
Give it longer than you think
A full index of a few hundred gigabytes takes one to three hours on an Apple silicon Mac with an SSD. Several things make it much longer:
- A large Mail library, because every message is indexed individually.
- A Photos library, which Spotlight indexes alongside
photoanalysisddoing its own scene and face analysis. - Developer folders holding hundreds of thousands of small files in
node_modulesor build output. - An external drive connected during the pass, especially a mechanical one.
- Interrupting it. Shutting the Mac down mid-index means it resumes rather than restarting, but repeated interruptions genuinely do prevent completion.
Leave the Mac plugged in and awake for an evening before concluding anything is
wrong. If the fans are running and mds_stores is busy, it is working.
Rebuild the index
When it has genuinely stalled, the supported way to force a clean rebuild uses the privacy list.
- System Settings → Siri & Spotlight, then open the Spotlight Privacy list (Ventura and later; earlier versions put this under System Preferences → Spotlight → Privacy).
- Drag your startup disk into the list, or add it with the + button.
- Wait about thirty seconds. macOS discards the index for that volume.
- Select it in the list and remove it with the - button.
Indexing restarts from scratch. Expect the same hours you would expect for a fresh Mac, and expect the fans.
The Terminal equivalent, which is faster to type and does the same thing:
sudo mdutil -E /
That erases the index and triggers a rebuild. To turn indexing back on for a volume where it has been disabled:
sudo mdutil -i on /
Both need an administrator password, and neither touches your files. The index is a database macOS builds about your files; deleting it loses nothing but time.
Stop it indexing things you never search
The most effective long-term fix is a smaller job. Add to the Spotlight privacy list anything large that you never search by name:
- Virtual machine images and Docker’s disk image.
- Build output and dependency folders on a development machine.
- Backup drives, including Time Machine volumes.
- Archive drives holding media you browse rather than search.
Excluding a Time Machine drive is particularly worth doing, because indexing it competes directly with the backup writing to it, and a slow Time Machine backup is often two processes fighting over one mechanical disk.
When the symptom is heat rather than search
Plenty of people arrive at Spotlight because the Mac is hot, having read that indexing is the cause. It frequently is, and it frequently is not.
Activity Monitor settles the question in a few seconds. If mds_stores is at
the top, wait it out. If something else is, the problem is elsewhere, and
finding what is really running on a hot
Mac covers reading that screen
and the processes most often responsible.
What does not help
- Restarting repeatedly. Each restart interrupts the pass. If the index is progressing, leaving the Mac alone finishes it faster than any intervention.
- Deleting the index folder manually from a hidden system path.
mdutil -Edoes the same thing safely, and the manual paths from older guides have changed. - Cleaner apps offering to repair Spotlight. They run the same
mdutilcommand. - Disabling Spotlight entirely to fix slow search. That is not a fix, it is removing the feature.
Realistic expectations
A rebuild completes overnight on most Macs, and search results fill in
progressively rather than appearing all at once — partial results during the
pass are expected, not a sign of failure. Once it finishes, the mds processes
drop to near zero and stay there until files change.
The honest limit is that a small number of Macs reindex repeatedly without ever
settling, usually because something is rewriting a large number of files
continuously. Cloud sync clients and development tools are the usual cause. If
mds_stores never goes quiet on a Mac that is otherwise idle, look for the
folder being rewritten and exclude it, because the index itself is not the
problem.