We present a publicly available, open source version of the time-dependent, gas-grain chemical code UCLCHEM. UCLCHEM propagates the abundances of chemical species through a large network of chemical reactions in a variety of physical conditions. The model is described in detail, along with its applications. As an example of possible uses, UCLCHEM is used to explore the effect of protostellar collapse on commonly observed molecules, and study the behavior of molecules in C-type shocks. We find the collapse of a simple Bonnor-Ebert sphere successfully reproduces most of the behavior of CO, CS, and NH3 from cores observed by Tafalla et al. (2004), but cannot predict the behavior of N2H+. In the C-shock application, we find that molecules can be categorized such that they become useful observational tracers of shocks and their physical properties. Although many molecules are enhanced in shocked gas, we identify two groups of molecules in particular. A small number of molecules are enhanced by the sputtering of the ices as the shock propagates, and then remain high in abundance throughout the shock. A second, larger set is also enhanced by sputtering, but then destroyed as the gas temperature rises. Through these applications, the general applicability of UCLCHEM is demonstrated.