This paper introduces a novel geographic routing protocol called Energy-Efficient Geographic Routing (EEGR) for wireless sensor networks. In EEGR, both geographic information and transceiver power characteristics are employed to make forwarding decisions, thereby enabling an energy-aware localized routing strategy. We prove that EEGR is loop-free and derive the bounds on hop count for sensor-to-sink packet delivery. In particular, we analyze the energy dissipation under EEGR and present the approximated expected energy consumption for sensor-to-sink data delivery when nodes are uniformly deployed. Simulation results demonstrate that EEGR can provide near-optimal energy-efficient routing only based on local information.