I prove an envelope theorem with a converse: the envelope formula is equivalent to a first-order condition. Like Milgrom and Segal’s (2002) envelope theorem, my result requires no structure on the choice set. I use the converse envelope theorem to extend to abstract outcomes the canonical result in mechanism design that any increasing allocation is implementable, and apply this to selling information.