The three-phase pnautilus chemical code finds the abundance of each species by solving rate equations for gas-phase and grain surface chemistries. It performs gas–grain simulations in which both the icy mantle and the surface are considered active, taking into account mantle photodissociation, diffusion, and reactions; the code also considers the competition among reaction, diffusion and evaporation.