Super-resolution is an ill-posed problem, since it allows for multiplepredictions for a given low-resolution image. This fundamental fact is largelyignored by state-of-the-art deep learning based approaches. These methodsinstead train a deterministic mapping using combinations of reconstruction andadversarial losses. In this work, we therefore propose SRFlow: a normalizingflow based super-resolution method capable of learning the conditionaldistribution of the output given the low-resolution input. Our model is trainedin a principled manner using a single loss, namely the negative log-likelihood.SRFlow therefore directly accounts for the ill-posed nature of the problem, andlearns to predict diverse photo-realistic high-resolution images. Moreover, weutilize the strong image posterior learned by SRFlow to design flexible imagemanipulation techniques, capable of enhancing super-resolved images by, e.g.,transferring content from other images. We perform extensive experiments onfaces, as well as on super-resolution in general. SRFlow outperformsstate-of-the-art GAN-based approaches in terms of both PSNR and perceptualquality metrics, while allowing for diversity through the exploration of thespace of super-resolved solutions.