Fluidity is an open source, general purpose, multiphase computational fluid dynamics code capable of numerically solving the Navier-Stokes equation and accompanying field equations on arbitrary unstructured finite element meshes in one, two and three dimensions. It is parallelised using MPI and is capable of scaling to many thousands of processors. Other innovative and novel features include the use of anisotropic adaptive mesh technology, and a user-friendly GUI and a Python interface which can be used to calculate diagnostic fields, set prescribed fields or set user-defined boundary conditions.