Manopt.jl provides a set of optimization algorithms for optimization problems given on a Riemannian manifold M. Based on a generic optimization framework, together with the interface ManifoldsBase.jl for Riemannian manifolds, classical and recently developed methods are provided in an efficient implementation. Algorithms include the derivative-free Particle Swarm and Nelder-Mead algorithms, as well as classical gradient, conjugate gradient and stochastic gradient descent. Furthermore, quasi-Newton methods like a Riemannian L-BFGS (Huang et al., 2015) and nonsmooth optimization algorithms like a Cyclic Proximal Point Algorithm (Bačák, 2014), a (parallel) Douglas-Rachford algorithm and a Chambolle-Pock algorithm (Bergmann et al., 2021) are provided, together with several basic cost functions, gradients and proximal maps as well as debug and record capabilities.