UnionFS ist ein Dateisystem, das ursprünglich für das Plan-9-Betriebssystem entwickelt wurde. Es wurde dazu verwendet, Prozessen eigene Namensräume innerhalb der Dateisysteme zuzuweisen.
Mittels UnionFS werden die Dateien verschiedener Dateisysteme zu einem einzigen logischen Dateisystem vereinigt, d. h. Dateien, die in den getrennten Dateisystemen im gleichen Verzeichnis liegen, werden durch UnionFS im selben Verzeichnis angezeigt. Dabei werden den einzelnen beteiligten Hierarchien Prioritäten zugeordnet, so dass eine eindeutige Zuordnung auch im Falle gleicher Dateinamen gewährleistet ist.
Ein heutiger Einsatzzweck ist die Überlagerung von schreibgeschützten Dateisystemen mit RAM-Disks, ähnlich wie das funktional ähnliche OverlayFS. Damit wird erreicht, dass Benutzer von Live-CDs lokale Dateien ändern können.
UnionFS wurde sowohl für Linux als auch für diverse BSD-Varianten implementiert und wird zum Beispiel bei Live-CDs von Damn Small Linux und bei der Linux-Variante des Asus Eee PC eingesetzt.