The paper introduces the No-U-Turn Sampler (NUTS), an extension of Hamiltonian Monte Carlo (HMC) that eliminates the need to manually set the number of steps $L$. NUTS uses a recursive algorithm to build a set of candidate points that span a wide swath of the target distribution, stopping automatically when it starts to double back and retrace its steps. Empirically, NUTS performs at least as efficiently as and sometimes more efficiently than a well-tuned standard HMC method, without requiring user intervention or costly tuning runs. The paper also presents a method for adaptively tuning the step size parameter $\epsilon$ using primal-dual averaging, making it possible to run NUTS with no hand-tuning at all. NUTS is suitable for applications such as BUGS-style automatic inference engines that require efficient "turnkey" sampling algorithms.The paper introduces the No-U-Turn Sampler (NUTS), an extension of Hamiltonian Monte Carlo (HMC) that eliminates the need to manually set the number of steps $L$. NUTS uses a recursive algorithm to build a set of candidate points that span a wide swath of the target distribution, stopping automatically when it starts to double back and retrace its steps. Empirically, NUTS performs at least as efficiently as and sometimes more efficiently than a well-tuned standard HMC method, without requiring user intervention or costly tuning runs. The paper also presents a method for adaptively tuning the step size parameter $\epsilon$ using primal-dual averaging, making it possible to run NUTS with no hand-tuning at all. NUTS is suitable for applications such as BUGS-style automatic inference engines that require efficient "turnkey" sampling algorithms.