Cosmic rays, thanks to their ubiquity and high penetration capability, have been successfully used in scientific research ever since their discovery. As soon as their knowledge improved, applications in the civil/environmental field were also developed: muon radiography (or muography, based on the flux attenuation) and muon tomography (based on the scattering angle) have been used to study the inner structure of volcanoes, to seek hidden rooms in Egyptian pyramids, to search for heavy metals in containers, and so on. And besides these imaging techniques, cosmic ray muons are also widely used for detector testing and alignment practically in every Nuclear Physics or Particle Physics experiment. Since most of these applications are sensitive to the angular and momentum distribution of cosmic muons, an accurate modelling of these distributions is a key feature for any generation tool conceived to simulate the cosmic muon flux. This can make the generator quite time-consuming, which is a strong limit when one needs to reach high statistics or to study large structures. A new Monte Carlo generator for cosmic-ray muons, named Efficient COsmic MUon Generator (EcoMug for short), especially designed to be fast (≳ 10 5 muons generated per second on a standard machine) without losing accuracy, is presented here. It is written as a header-only C++11 library, ready to be integrated into whatever C++ code, in particular C++ code based on Geant4 simulation tool. By default, EcoMug relies on a simple and effective parametrisation of the experimental data of cosmic ray differential flux at sea level, taken from the literature, but the library is written in such a way that every user can easily replace it with his own user-defined parametrisation. Unlike other tools, EcoMug is able to generate muons from different kind of surfaces (plane, cylinder and half-sphere), while keeping the correct angular and momentum distribution of generated tracks inside a fiducial volume. This allows to optimise the generation surface according to the system under study, and leads to a further improvement of the overall simulation efficiency. In this contribution we will present the main features of EcoMug, starting from its mathematical foundation, and eventually showing some interesting applications.