In this paper we discuss several notions of decomposition for multivariate rational functions, and we present algorithms for decomposing multivariate rational functions over an arbitrary field. We also provide a very efficient method to decide if a unirational field has transcendence degree one, and in the affirmative case to compute the generator.