How to move big files to an external drive on a Mac, safely
Not everything that fills your Mac can go. Old projects, finished video work and AI models you may want again are better kept on an external drive than deleted.
The short answer: copy the item to the drive, check that the copy matches, and only then move the original to the Trash. Dragging in Finder copies but doesn't check. Use an APFS or Mac OS Extended drive for projects and app data; exFAT is fine for plain files, and FAT32 can't hold a file over 4 GB.
Which drive format should I use?
- APFS: the best choice for a drive only Macs use. It keeps everything: symbolic links, permissions and hidden files. Disk Utility can also make it encrypted.
- Mac OS Extended: the older Mac format, still fine, and the usual one for spinning hard drives.
- exFAT: readable by Windows too, but it has no symbolic links or hard links and doesn't keep a file's permission to run. Code projects and some model folders (Hugging Face uses links) don't survive it intact.
- FAT32: no file larger than 4 GB. Avoid it for this.
To see a drive's format, select it in Finder and choose File › Get Info, or run:
diskutil info "/Volumes/Studio SSD" | grep "File System Personality"
How do I copy a folder and check the copy?
ditto copies a folder with everything macOS keeps about its files, and diff -rq compares the two, file by file, byte by byte. No output from diff means they match:
ditto ~/Projects/old-portfolio "/Volumes/Studio SSD/Projects/old-portfolio"
diff -rq ~/Projects/old-portfolio "/Volumes/Studio SSD/Projects/old-portfolio"
For one big file, compare checksums: the two lines must show the same value.
shasum -a 256 ~/Movies/talk.mov "/Volumes/Studio SSD/Movies/talk.mov"
Right after copying, macOS may still hold the file in memory, so the check can read that instead of the drive. For a strict check, eject the drive, connect it again, then compare.
Should I remove node_modules before moving a project?
Yes. node_modules, .venv, target, build and similar folders rebuild from the project's own files with npm install, pip install or a build. Leaving them out makes the copy smaller and much faster, since they hold many thousands of small files.
Can I move Ollama models, Docker or the Photos library to a drive?
- Ollama: don't move single models; its models share files. Point Ollama at a folder on the drive instead and download them there:
OLLAMA_MODELS="/Volumes/Studio SSD/Ollama" ollama serve. - Docker Desktop: choose a new place in Settings › Resources › Advanced › Disk image location, so Docker moves its own disk.
- Photos: quit Photos, drag the library to an APFS or Mac OS Extended drive, then open it while holding Option. Apple's own steps keep iCloud Photos working.
- Mail, apps, simulators and iPhone backups expect to be on the Mac itself. Leave them there.
What if the drive fails or gets lost?
Once you empty the Trash, the copy on the drive is the only one. Keep important things in two places, for example in Time Machine as well. A drive without encryption can be read by anyone who has it: to encrypt one, Control-click it in Finder and choose Encrypt, or format it as APFS (Encrypted) in Disk Utility.