Ensemble filter algorithms can be implemented in a generic way such that they can be applied with various models with only a minimum amount of recoding. This is possible due to the fact that ensemble filters can operate on abstract state vectors and require only limited information about the numerical model and the observational data used for a data assimilation application. To build an assimilation system, the analysis step of a filter algorithm needs to be connected to the numerical model. Furthermore, ensemble integrations have to be enabled. The Parallel Data Assimilation Framework PDAF has been developed to provide these features: It is a generic framework that allows to extend a numerical model with a filter to build an ensemble data assimilation system with minimal changes to the model code. PDAF also provides a selection of common ensemble Kalman filter algorithms. As the computational cost of ensemble data assimilation is a multiple of that of a pure forward model, the framework and the filter algorithms are parallelized and support parallelized models. Thus, data assimilation with high-dimensional numerical models is feasible. PDAF is coded in Fortran and available as free software (http://pdaf.awi.de). We discuss the features of PDAF and the parallel computing performance of data assimilation systems based on PDAF on the example of data assimilation with the finite element ocean model FEOM.