pydiffusion is a free and open-source Python library designed to solve diffusion problems for both singlephase and multi-phase binary systems. The key features of pydiffusion include fast simulation of multiphase diffusion and extraction of diffusion coefficients from experimental concentration profiles using forward simulation analysis. pydiffusion also provides various mathematical models for diffusion profile smoothing, diffusion coefficient evaluation, and data optimization. In pydiffusion, diffusion profiles and various phases are easy to define or read from the experimental datasets. Visualization tools based on Matplotlib are also provided to help users present or refine their simulations and analysis.