Quickly convert between pH, pOH, [H⁺], and [OH⁻] concentrations.
Calculation Results:
[H⁺]:
[OH⁻]:
pH:
pOH:
Understanding pH and pOH Calculations
This pH calculations worksheet tool helps students and chemists solve acid-base equilibrium problems. In aqueous solutions, the relationship between Hydrogen ions [H⁺] and Hydroxide ions [OH⁻] is constant at 25°C.
The Four Critical Formulas
pH = -log₁₀[H⁺]
pOH = -log₁₀[OH⁻]
pH + pOH = 14
[H⁺] × [OH⁻] = 1.0 × 10⁻¹⁴
How to Calculate Step-by-Step
To use this worksheet, you only need to know one of the four variables. The calculator automatically determines the acidity or basicity of the solution based on the result:
Acidic: pH < 7.0
Neutral: pH = 7.0
Basic (Alkaline): pH > 7.0
Practical Examples
Known Value
Steps to Find pH
pH Result
[H⁺] = 1 × 10⁻³
-log(10⁻³)
3.0 (Acid)
pOH = 12
14 – 12
2.0 (Acid)
[OH⁻] = 1 × 10⁻⁴
pOH = -log(10⁻⁴) = 4; pH = 14 – 4
10.0 (Base)
function calculatePH() {
var valH = document.getElementById("inputH").value.trim();
var valOH = document.getElementById("inputOH").value.trim();
var valPH = document.getElementById("inputPH").value.trim();
var valPOH = document.getElementById("inputPOH").value.trim();
var h, oh, ph, poh;
var solved = false;
// Priority logic: which field was filled?
if (valH !== "" && !isNaN(parseFloat(valH))) {
h = parseFloat(valH);
ph = -Math.log10(h);
poh = 14 – ph;
oh = Math.pow(10, -poh);
solved = true;
} else if (valOH !== "" && !isNaN(parseFloat(valOH))) {
oh = parseFloat(valOH);
poh = -Math.log10(oh);
ph = 14 – poh;
h = Math.pow(10, -ph);
solved = true;
} else if (valPH !== "" && !isNaN(parseFloat(valPH))) {
ph = parseFloat(valPH);
poh = 14 – ph;
h = Math.pow(10, -ph);
oh = Math.pow(10, -poh);
solved = true;
} else if (valPOH !== "" && !isNaN(parseFloat(valPOH))) {
poh = parseFloat(valPOH);
ph = 14 – poh;
h = Math.pow(10, -ph);
oh = Math.pow(10, -poh);
solved = true;
}
if (solved) {
// Update Inputs for convenience
document.getElementById("inputH").value = h.toExponential(4);
document.getElementById("inputOH").value = oh.toExponential(4);
document.getElementById("inputPH").value = ph.toFixed(4);
document.getElementById("inputPOH").value = poh.toFixed(4);
// Update Results Display
document.getElementById("resH").innerHTML = "[H⁺]: " + h.toExponential(4) + " mol/L";
document.getElementById("resOH").innerHTML = "[OH⁻]: " + oh.toExponential(4) + " mol/L";
document.getElementById("resPH").innerHTML = "pH: " + ph.toFixed(4);
document.getElementById("resPOH").innerHTML = "pOH: " + poh.toFixed(4);
var natureText = "";
var color = "";
if (ph 7.05) {
natureText = "The solution is BASIC (ALKALINE)";
color = "#2ecc71";
} else {
natureText = "The solution is NEUTRAL";
color = "#3498db";
}
var natureEl = document.getElementById("resNature");
natureEl.innerHTML = natureText;
natureEl.style.color = color;
document.getElementById("ph-results-area").style.display = "block";
} else {
alert("Please enter at least one valid number to calculate.");
}
}
function resetPHFields() {
document.getElementById("inputH").value = "";
document.getElementById("inputOH").value = "";
document.getElementById("inputPH").value = "";
document.getElementById("inputPOH").value = "";
document.getElementById("ph-results-area").style.display = "none";
}