Snipget.ai

Calculate normality of a solution

Exact
chemistry_normality

Deterministic and authoritative — the canonical answer for this input.

Calculate normality (eq/L) = molarity x equivalents_per_mole, fully locally. equivalents_per_mole is REQUIRED and is not inferred — normality is reaction-dependent (e.g. H2SO4 is 1 or 2 eq/mol), so a missing factor is rejected (confidence 0.0) rather than guessed. Batch via chemistry_normality_batch. Charges 1 cost_unit.

Parameters

molaritynumberrequired

Molarity in mol/L.

equivalents_per_molenumberoptional

Equivalents per mole — REQUIRED, not inferred (normality is reaction-dependent, e.g. H2SO4 is 1 or 2 eq/mol).

reaction_contextstringoptional

Optional free-text note describing the reaction; echoed back.

Call it

curl -X POST https://api.snipget.ai/v1/chemistry/normality \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"molarity":0.1,"equivalents_per_mole":2,"reaction_context":"H2SO4 acid-base titration"}'

The Batch tab sends up to 1000 inputs in one call via /v1/chemistry/normality/batch.

Example response

{
  "is_valid": true,
  "normality_eq_per_l": 0.2,
  "molarity_mol_per_l": 0.1,
  "equivalents_per_mole": 2,
  "reaction_context": "H2SO4 acid-base titration"
}

FAQ

What does this do?

It converts molarity (mol/L) into normality (equivalents/L) by multiplying by the number of equivalents per mole. It is the simple step people still get backwards under time pressure.

Why do I have to supply equivalents_per_mole?

Because normality is reaction-dependent. Sulfuric acid is 1 N or 2 N at the same molarity depending on the reaction, so the tool refuses to guess the factor and asks you to state it. That is a deliberate safety choice, not a limitation.

Is the result exact?

Yes. It is a deterministic multiplication, so the same molarity and equivalence factor always give the same normality. It runs offline with no lookups.

What is reaction_context for?

It is an optional free-text note describing the reaction. The tool just echoes it back so your records show why you picked that equivalence factor; it does not affect the math.

What if I forget the factor or pass a bad number?

You get confidence 0 with a why_invalid reason, not an error. A missing equivalents_per_mole is rejected with a note that normality is reaction-dependent.

Related tools