The capacity of biochars to adsorb ionic contaminants is strongly influenced by biochar surface chemistry. We studied the effects of biomass feedstock type, pyrolysis temperature, reaction media pH, and AlCl3 pre-pyrolysis feedstock treatments on biochar anion exchange capacity (AEC), cation exchange capacity (CEC), point of zero net charge (PZNC), and point of zero salt effect (PZSE). We used the relationship between PZNC and PZSE to probe biochar surfaces for the presence of unstable (hydrolyzable) surface charge functional groups. The results indicate that biochars produced at ≤500°C have high CECs and low AEC, PZSE, and PZNC values due to the dominance of negative surface charge arising from carboxylate and phenolate functional groups. Biochars produced at ≥700°C have low CEC and high AEC, PZSE, and PZNC values, consistent with a dominance of positive surface charge arising from nonhydrolyzable bridging oxonium (oxygen heterocycles) groups. However, biochars produced at moderate temperatures (500–700°C) have high PZSE and low PZNC values, indicating the presence of nonbridging oxonium groups, which are rapidly degraded under alkaline conditions by OH− attack on the oxonium α-C. Biochars treated with AlCl3 have high AEC, PZSE, and PZNC values due to variably charged aluminol groups on biochar surfaces. The results provide support for the presence of both hydrolyzable and nonhydrolyzable oxonium groups on biochar surfaces. They also demonstrate that biochars produced at high pyrolysis temperatures (>700°C) or those receiving pre-pyrolysis treatments with AlCl3 are optimized for anionic contaminant adsorption, whereas biochars produced at low pyrolysis temperatures (400°C) are optimized for cationic contaminant adsorption.