UnionFS is een bestandssysteem dat verschillende bestandssystemen bundelt in één logisch bestandssysteem. Het is een samenvoeging van alle bestanden en bestandsmappen van verschillende bestandssystemen.
De verschillende bestandshiërarchieën kunnen alleen-lezen of herschrijfbare bestandssystemen bevatten. Als de bestandshiërarchieën gemount (aangekoppeld) worden, wordt de onderlinge prioriteit vastgelegd. Als twee afzonderlijke bestandshiërarchieën een bestand met dezelfde naam bevatten, krijgt het ene bestand prioriteit over het andere.
De oorspronkelijke UnionFS-implementatie was in het Plan 9-besturingssysteem, dat union mounts gebruikte in aangepaste namespaces voor processen.
De Linux-implementatie van UnionFS wordt soms ad hoc gebruikt als een snapshottend systeem. Op Live CD's wordt het gebruikt als een manier om een beschrijfbaar bestandssysteem over alleen-lezen-media (cd/dvd) "heen te leggen". In Knoppix bijvoorbeeld kan het bestandssysteem op de cd-rom of dvd worden samengevoegd met een bestandssysteem in een imagebestand met de naam knoppix.img op een USB-stick, welke prioriteit heeft over het alleen-lezen-bestandssysteem op de cd/dvd. In PCLinuxOS wordt op de harde schijf een map met de naam 'changes' aangemaakt, waarin alle veranderde bestanden worden opgeslagen.
De gebruiker 'ziet' een bestandssysteem waar bestanden overal kunnen worden toegevoegd en veranderd. Op systeemniveau wordt het bestand dat op het alleen-lezen-medium staat vervangen door een nieuwe versie. Aangezien het Union-bestandssysteem de twee versies op een transparante manier samenvoegt, ziet de gebruiker alleen de nieuwe versie.
UnionFS is ook beschikbaar in veel BSD-varianten, zoals FreeBSD, NetBSD en DragonFly BSD, alhoewel het hier incourant en niet stabiel werkt. De Linuxvariant werkt zeer stabiel.