We introduce a Bayesian approach for modeling Voigt profiles in absorption spectroscopy and its implementation in the python package, BayesVP, publicly available at https://github.com/cameronliang/BayesVP. The code fits the absorption line profiles within specified wavelength ranges and generates posterior distributions for the column density, Doppler parameter, and redshifts of the corresponding absorbers. The code uses publicly available efficient parallel sampling packages to sample posterior and thus can be run on parallel platforms. BayesVP supports simultaneous fitting for multiple absorption components in high-dimensional parameter space. We provide other useful utilities in the package, such as explicit specification of priors of model parameters, continuum model, Bayesian model comparison criteria, and posterior sampling convergence check.