NonlinearSchrodinger.jl is a Julia package with a simple interface for studying solutions of nonlinear Schrödinger equations (NLSEs). In approximately ten lines of code, one can perform a simulation of the cubic NLSE using one of 32 algorithms, including symplectic and Runge-Kutta-Nyström integrators up to eighth order. Furthermore, it is possible to compute analytical solutions via a numerical implementation of the Darboux transformation for extended NLSEs up to fifth order, with an equally simple interface. In what follows, we review the fundamentals of solving this class of equations numerically and analytically, discuss the implementation, and provide several examples.