The responses of olfactory receptor neurons (ORNs) to odors have complex dynamics. Using genetics and pharmacology, we found that these dynamics in Drosophila ORNs could be separated into sequential steps, corresponding to transduction and spike generation. Each of these steps contributed distinct dynamics. Transduction dynamics could be largely explained by a simple kinetic model of ligand-receptor interactions, together with an adaptive feedback mechanism that slows transduction onset. Spiking dynamics were well described by a differentiating linear filter that was stereotyped across odors and cells. Genetic knock-down of sodium channels reshaped this filter, implying that it arises from the regulated balance of intrinsic conductances in ORNs. Complex responses can be understood as a consequence of how the stereotyped spike filter interacts with odor- and receptor-specific transduction dynamics. However, in the presence of rapidly fluctuating natural stimuli, spiking simply increases the speed and sensitivity of encoding.