Aliases, symlinks and hard links on a Mac
Choosing the wrong one is how a link stops working six months later. It is also how a backup comes out a size nobody expected.
All three wear the same arrow badge in Finder and behave nothing alike. An alias records where the file is and which file it is, so it survives being moved. A symlink records only a path, so it breaks. A hard link is not a pointer at all. It is a second name for the same data.
Choosing the wrong one is how a link stops working six months later. It is also how a backup comes out a size nobody expected.
The three, side by side
| Alias | Symlink | Hard link | |
|---|---|---|---|
| Records | Path and file identity | A path string | Nothing. It is a name |
| Target moved | Survives | Breaks | Survives |
| Target renamed | Survives | Breaks | Survives |
| Target deleted | Breaks | Breaks | Data stays |
| Across volumes | Yes | Yes | No |
| Works in Terminal | No | Yes | Yes |
| Made in Finder | Yes | No | No |
| Can point at a folder | Yes | Yes | No |
Two rows decide almost every choice. Terminal cannot follow an alias. A hard link cannot cross a volume.
Alias
The oldest of the three, from a time before macOS had Unix underneath it, when the original was built on file identity rather than paths.
What it became is a hybrid. An alias carries the path and the file identity together, so when the path fails it falls back on identity and finds the file anyway. Rename the target. Move it to another folder. Move it to another volume. The alias still opens it.
That robustness has one price. Aliases belong to Finder and to applications built on Apple's frameworks. macOS ships no command for making or resolving one, so an alias is invisible to a shell script, to ln, to cp and to anything else you run in Terminal.
Make one by selecting the file and choosing Make Alias in the File menu. Holding Option and Command while you drag does the same.
Symbolic link
A symlink is a tiny file containing a path and nothing else. macOS reads the path and goes there.
That simplicity is the whole story, good and bad. It works everywhere, in Finder, in Terminal, in scripts and in almost every application, because following a path is something every layer of the system already does.
It is also brittle. Move the target and the path is wrong. Rename it and the path is wrong. The symlink has no second way to find anything, so it sits there pointing at nowhere.
ln -s /path/to/original /path/to/linkFinder cannot make one. Two habits save trouble. Use absolute paths, because a relative path is read from the link's own location rather than yours. And remember that removing a link with a trailing slash on a folder can reach through to the contents rather than deleting the link.
Paths are the whole mechanism here. Reading one correctly is a skill of its own, covered in the guide to slashes, tildes and Volumes.
Hard link
This one is a different kind of thing entirely. Describing it as a shortcut is what causes the confusion.
A file on disk is storage plus a directory entry naming it. A hard link is a second directory entry pointing at the same storage. Neither name is the original. They are equal, they carry the same identity number, with nothing to distinguish them.
So there is nothing to break. Rename either name. Move either name anywhere on the volume. Both still reach the data. Delete one and the data stays, because the other name still holds it. The storage goes only when the last name does.
ln /path/to/original /path/to/newnameTwo limits follow from the mechanism rather than from policy. Identity numbers are per volume, so a hard link cannot cross to another disk. And APFS does not allow one to point at a folder.
How storage and directory entries relate underneath all this is the file system's own subject.
Which one to use
| Situation | Use |
|---|---|
| A shortcut on the desktop for yourself | Alias, because it survives you tidying up |
| Anything a script or Terminal has to follow | Symlink. Terminal cannot see an alias |
| Moving a big folder to an external drive and leaving a stand in | Symlink, bearing in mind it points at a volume that has to be mounted |
| One file that belongs in two folders at once | Hard link, if both are on the same volume |
| A folder that belongs in two places | Alias or symlink. A hard link cannot do it |
What none of them is
One clarification saves a lot of wasted effort.
None of the three is a copy. None of them protects you from anything either. Delete the file an alias points at and the alias is a dead icon. Delete the target of a symlink and the same. A hard link is the closest to protection and still is not backup, because both names sit on one volume and one drive failure takes both.
The other confusion is with duplicating a file, which produces two separate files that happen to start out identical. That is a different mechanism entirely and belongs with the file system rather than here.
So the honest summary is that all three save you from navigating. Not one saves you from losing anything.
Why backups come out the wrong size
This is where the distinction stops being academic.
Hard links inflate a count. One set of data with three names looks like three files to anything that walks names and adds up sizes. A tool reporting three times the disk usage is not wrong about the names, only about the disk.
Symlinks go either way. A backup tool that follows them copies the target, so a link to a 40GB folder makes the backup 40GB larger. One that does not follow them copies a path string. The restore then arrives pointing at a location the new machine has never had.
Aliases copy as files. To anything below Finder an alias is an ordinary small file, so it backs up and restores intact while meaning nothing to the tool that moved it.
A backup much larger or much smaller than the source is nearly always one of those three. Which one tells you what the tool did.
Telling them apart
Finder gives you almost nothing. Aliases and symlinks both show the arrow badge. A hard link looks like an ordinary file, because that is exactly what it is.
Get Info helps a little. An alias reports its kind as Alias and offers to fix a broken one. Beyond that, ls -l in Terminal marks a symlink with an arrow to its target and gives every other file a link count, where anything above one means a hard link exists somewhere.
The practical rule is shorter. If you made it in Finder it is an alias. If you typed ln -s it is a symlink. If you typed ln without the flag, there are now two names for one file and neither is a copy.
Common questions
What is the difference between an alias and a symlink on a Mac?
An alias records both the path and the file's identity, so it keeps working when the target is moved or renamed. A symlink records only a path, so either of those breaks it. The trade is that Terminal and scripts can follow a symlink and cannot see an alias at all.
Does a Mac alias still work if I move the original file?
Yes, including to another volume. The alias falls back on the file's identity when the path no longer resolves. Deleting the original is the one thing that breaks it, since there is then nothing to find.
What is a hard link on a Mac?
A second name for the same data rather than a pointer to it. Both names are equal, both reach the same storage and neither is the original. Deleting one leaves the data intact, because the other name still holds it.
Why can a hard link not cross to another drive?
Because it works through an identity number that only means something within one volume. On another disk that number refers to something else or to nothing. APFS also prevents a hard link pointing at a folder.
How do I create a symbolic link on a Mac?
Run ln -s followed by the original path and then the link path in Terminal. Finder cannot make one. Use absolute paths, since a relative path is read from the link's own location rather than from where you are standing.
Why is my backup much bigger or smaller than the original folder?
Links are the usual explanation. Hard links present one set of data under several names, which inflates any count that walks names. A backup tool that follows symlinks copies the target and grows, while one that does not copies a path and shrinks.
Sources
Every behaviour stated above traces back to one of these pages. Last verified on 5 September 2026.
- Links and aliases, which are best, on aliases carrying path and identity together and having no command line tools The Eclectic Light Company
- APFS hard links, symlinks, aliases and clone files, on a hard link being a second directory reference to the same storage The Eclectic Light Company
- Symlinks explained, on relative path behaviour, trailing slashes and aliases not working in Terminal Starmorph
- How to use aliases, symbolic links and hard links on your Mac, on the same volume restriction and folders How-To Geek