Calculate normality of a solution
Exactchemistry_normalityDeterministic 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
molaritynumberrequiredMolarity in mol/L.
equivalents_per_molenumberoptionalEquivalents per mole — REQUIRED, not inferred (normality is reaction-dependent, e.g. H2SO4 is 1 or 2 eq/mol).
reaction_contextstringoptionalOptional 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.