Molecular descriptors are numerical values that characterize molecular properties and structures. They can represent physicochemical properties or values derived from algorithmic techniques applied to molecular structures. Descriptors vary in complexity and computational requirements. Some are based on experimental data while others are algorithmic constructs. Two-dimensional (2D) descriptors are calculated from 2D structures and include counts, physicochemical properties, and topological indices. Three-dimensional (3D) descriptors encode spatial relationships and include fragment screens and pharmacophore keys.