Shark is a flexible semi-analytic galaxy formation model for easy exploration of different physical processes. Shark has been implemented with several models for gas cooling, active galactic nuclei, stellar and photo-ionization feedback, and star formation (SF). The software can determine the stellar mass function and stellar-halo mass relation at z=0-4; cosmic evolution of the star formation rate density, stellar mass, atomic and molecular hydrogen; local gas scaling relations; and structural galaxy properties. It performs particularly well for the mass-size relation for discs/bulges, the gas-stellar mass and stellar mass-metallicity relations. Shark is written in C++11 and has been parallelized with OpenMP.