HomeCalculatorsChemistrypH Calculator
Chemistry calculator

pH Calculator

Compute pH = −log10[H+] and pOH = −log10[OH−] at 25 °C with Kw = 1e-14. Runs locally. Not Henderson–Hasselbalch and not ICE.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · pH = −log10(h) and pH + pOH = 14 at 25 °C, + O3 mpmath tabulated pH.
Input interpretation
Enter values to calculate.
Result
—
Verified scope
pH = −log10(h) and pH + pOH = 14 at 25 °C, + O3 mpmath tabulated pH.
Assurance
Engineering
Declared partition coverage
PASS · 8/8 declared partitions (alias, awkward, from-ph, from-oh, from-poh, cross, from-h, invalid-domain) · Matrix
Deferred
Not a buffer and not an activity-based pH.
Numerical scope
O2: water ion product at 25 °C vs a separate-module identity (≤2 ULP). Not a buffer. ≤2 ULP vs O3 applies only to the published tabulated pH vectors. Not a buffer.
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
Water-ion pH, pOH, [H+], and [OH−] at 25 °C.
Scope
pH = −log10[H+]
Verification
Engine tested · Source checked · v1.0.1 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · pH = −log10(h) and pH + pOH = 14 at 25 °C, + O3 mpmath tabulated pH.· View Manifest · CVP overview · Specification
Versions
Calculation 1.0.1 · CVP protocol 1.0.0-proposed · Evidence 2026-09-25.o2-o3.2
Verification revision
2026-09-25.o2-o3.2 · 1/1 property · digest 82c9acd33c3c
Legacy regression
14/14 tests · Production surface contract 5/5
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
4/4 golden · 6/6 CVP boundary · 5/5 invalid · 1/1 property · 1/1 metamorphic · 8/8 O3 · 2/2 cross-interface · 5/5 CVP contract · Manifest
Evidence
1 legacy golden · 7 legacy boundary · legacy regression suite · 4/4 oracle-backed golden · 5/5 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.0.1 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

pHpH = −log₁₀[H⁺]
Water ion productpH + pOH = 14
iKw = 1.0×10⁻¹⁴ at 25 °C. This page is not Henderson–Hasselbalch and not an ICE table.

How to use

1

Choose [H+], pH, [OH−], or pOH

Each mode needs one of [H+], pH, [OH−], or pOH. The rest of the water-ion state is filled from Kw.

2

Enter a positive concentration when required

[H+] and [OH−] must be greater than zero. pH and pOH may be any finite number.

3

Read pH, pOH, [H+], and [OH−]

pH = −log10[H+]. pOH = 14 − pH at 25 °C.

Example calculations

Common configurations with formula and result.

ϟ

Millimolar acid

[H+]=1e-3 mol/L

pH = −log10(1e-3)
pH=3
ϟ

From pOH

pOH=11

pH = 14 − 11
pH=3

pH calculator specification

Version 1.0.1 · Engine tested

Calculation status

Review policy · Evidence

Definition
pH = −log10[H+]. pOH = −log10[OH−]. At 25 °C, Kw = 1e-14 and pH + pOH = 14.
What it calculates
Water-ion pH, pOH, [H+], and [OH−] at 25 °C.
Inputs
  • mode?
  • h | h_mol_L
  • pH
  • oh | oh_mol_L
  • pOH
Outputs
  • pH
  • h
  • pOH
  • oh
  • Kw
  • pKw
Formula
pH = −log10[H+]; pH + pOH = 14
Assumptions
  • pH = −log10[H+]
  • pOH = −log10[OH−]
  • Kw = 1e-14 at 25 °C
  • Not Henderson–Hasselbalch
  • Not ICE or activity coefficients
Units
  • mol/L
  • pH
  • pOH
Boundary conditions
  • ph_from_h missing h → MISSING_REQUIRED_INPUT
  • h ≤ 0 or oh ≤ 0 → VALUE_MUST_BE_POSITIVE
  • unknown mode → INVALID_MODE
  • hh_ph is not a mode on this page
Example
h=1e-3 → pH=3
Validation cases

3 published on this page · 14/14 tests · Production surface contract 5/5 · View evidence

  • h=1e-3 → pH=3
  • mode=ph_from_poh pOH=11 → pH=3
  • h=0 → VALUE_MUST_BE_POSITIVE
Sources
Calculation version
1.0.1

Background

Interpretation and common distinctions.

Compute pH and pOH from the water-ion product.

Supported and not supported

Supported — pH = −log10[H+], pOH = −log10[OH−], pH + pOH = 14 at 25 °C · API chemistry.acid_base.ph

Not supported — Henderson–Hasselbalch, ICE tables (see /calc/chemistry/weak-acid-equilibrium), activity coefficients, polyprotic, temperature-dependent Kw

Agent / API notes

Capability id: chemistry.acid_base.ph · tool id: ph · pin 1.0.1.

{ "mode": "ph_from_h", "h": 0.001 }

Share URLs use h_mol_L / oh_mol_L instead of bare h. Other modes: h_from_ph, poh_from_oh, oh_from_poh, ph_from_poh, poh_from_ph. Errors: MISSING_REQUIRED_INPUT, INVALID_NUMBER, VALUE_MUST_BE_POSITIVE, INVALID_MODE.

Calculator URL is /calc/chemistry/ph. Buffer pH stays on /calc/chemistry/henderson-hasselbalch. Weak-acid ICE stays on /calc/chemistry/weak-acid-equilibrium.

Other calculators in this family: Henderson–Hasselbalch, Weak-acid ICE, Weak-base ICE, Molarity .

Frequently asked questions

Key distinctions behind the calculation.

Is this Henderson–Hasselbalch?

No. Buffer pH from pKa and [HA]/[A−] is /calc/chemistry/henderson-hasselbalch. This page is the water-ion identities.

Does this solve an ICE table?

No. Weak-acid ICE from formal C and Ka is /calc/chemistry/weak-acid-equilibrium. This page is the water-ion identities.

Is Kw temperature-dependent here?

No. This page uses Kw = 1e-14 at 25 °C.

Where does this run?

Locally in the browser by default. REST and MCP call the same chemistry-engine pH wrapper.