Where apps hide your files
Safari records downloads in one plist inside ~/Library/Safari, and by default empties it daily. Here is the path, the setting that controls it and other ways to trace a file's origin.
Safari's download list is stored here:
~/Library/Safari/Downloads.plist
It is a property list that records the entries shown in Safari's downloads list: where each file came from, where it was saved and when. Forensics references say Safari 11 and later wrap the entries in a dictionary with a DownloadHistory array, while older versions used a plain array. A file of well under a kilobyte is normal and simply means the list is empty, and the file may be missing if Safari has never downloaded anything. The reason it is so often empty is the retention setting below.
The downloaded files themselves are not in that plist. They sit wherever you saved them, which by default is ~/Downloads.
Safari throws old entries away by default. In Safari > Settings > General, the Remove download list items menu offers four choices: After one day (the default, per Apple's Safari guide), When Safari quits, Upon successful download, and Manually. If you want a lasting history, pick Manually. It only affects future entries; an entry already removed is not restored.
The same pane has File download location. Apple notes that if you move a file or change the download location after downloading it, Safari can no longer find it from the list, because the list keeps a path, not the file.
In Finder press ⇧⌘G and paste ~/Library/Safari. In Terminal:
open ~/Library/Safari
Safari's data folder is privacy-protected on recent macOS versions. If Terminal answers "Operation not permitted" when you list it, either use Finder or add Terminal under System Settings > Privacy & Security > Full Disk Access. Safari's settings, as opposed to its data, are in its container at ~/Library/Containers/com.apple.Safari/Data/Library/Preferences/com.apple.Safari.plist.
To check the list's size and date without reading it:
ls -la ~/Library/Safari/Downloads.plist
Downloads.plist is a binary plist. Double-clicking it opens Xcode's property list editor if you have Xcode, and Terminal can print it with plutil -p. Do that only on your own Mac and not on a shared screen, since it lists the source address of every download. The fields vary by Safari version, so do not build anything that depends on exact key names.
If the list was cleared but you need to know where a file came from, three other trails survive.
mdls -name kMDItemWhereFroms ~/Downloads/<file> prints the address it came from. Safari sets it, and so do most other browsers.~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2, an SQLite database. It outlives Safari's list, but it holds URLs from every app that downloads, so treat it as private: open it only with sqlite3 -readonly, and never attach it to a bug report.To keep the list, set retention to Manually first, then copy Downloads.plist while Safari is quit. The copy is a snapshot only. Writing an old copy back over a new one replaces whatever Safari has recorded since, and Apple does not document the plist as a restore format, so treat it as a record to read, not a backup to restore.
While an entry is on the list, the quickest route is the Show Downloads button near the top right of the Safari window (Apple notes it is hidden while the list is empty). Click the magnifying glass next to an entry to show the file in Finder. If that fails, the file was moved, renamed or deleted after downloading. Sort ~/Downloads by Date Added in Finder to spot recent arrivals, and check Desktop and Documents if you changed the download location at some point.
In the downloads list, the Clear button empties it, and Control-clicking an entry offers Remove From List. That removes the record, never the file. History > Clear History also empties the downloads list, according to Apple's guide, and it too leaves the files in ~/Downloads alone.
Spotlight indexes your downloaded files in ~/Downloads, but it leaves ~/Library/Safari out of its results, so Downloads.plist never appears.
Once Everywhere has Full Disk Access, which it asks for during setup, it indexes file names in Downloads, Desktop, Documents and on external drives as well as the rest of the Mac. So if Safari's list has forgotten a download, type part of the filename you remember (even .dmg or invoice) and it shows every match, wherever you saved it. ⌘↵ reveals the file in Finder. It matches names only, so it will not tell you which site the file came from; the mdls command above does that.
In ~/Library/Safari/Downloads.plist. It lists recent downloads, while the downloaded files sit wherever you saved them, usually ~/Downloads.
Safari removes list items after one day by default. Change Remove download list items in Safari > Settings > General to Manually if you want to keep them.
Run mdls -name kMDItemWhereFroms on the file in Terminal, or select it in Finder, press Command-I and look under More Info for Where from.
No. Clear, Remove From List and History > Clear History only remove the records. The files stay in your download folder.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised