The accurate estimation of state-of-charge (SOC) is one of the most important core functions of a battery management system (BMS), which provides the essential information needed for battery management, monitoring, and status analysis. In this paper, an AC impedance based method is proposed for the accurate estimation of the SOC of a Li-ion battery. First, a 1kHz sinusoidal ripple was injected into a 18650 Li-ion battery and the AC impedance values were measured at 0% to 100% charging status at 10% increments. The correlation between SOC and AC impedance was then determined by linear regression. When it comes to practical application, a sinusoidal ripple is simply superposed into the charge/discharge source. The AC voltage and current of the battery is used to calculate the AC impedance, and this allows a fairly accurate estimation of the battery SOC. Final validation using a power analyzer and actual measurement showed the average error of SOC estimation to be within 4%. This encouraging result showed the proposed method can provide a simple and practical solution for online estimation of the SOC of Li-ion batteries.