Naming and Formulas of Acids

Acids have their own naming system. It is separate from the rules used for ordinary ionic and molecular compounds. Once you can recognize a compound as an acid, a short set of rules applies. Acids are typically written with H first, like HCl or H₂SO₄. These rules convert its formula into a name, and vice versa. The system is built entirely on the identity of the anion. This anion is left behind once the acidic hydrogens are removed. This article connects acid names directly to Polyatomic Ions. It also connects them to anion-naming conventions from Naming Ionic Compounds. Binary acids (no oxygen) use one pattern. Oxyacids (containing oxygen) use another pattern. This second pattern is keyed to the -ate/-ite endings of their parent polyatomic anions. Learning to move fluently between formula, anion name, and acid name matters greatly. It is one of the most testable skills in introductory chemistry. This is because it forces you to hold several naming systems in your head simultaneously.

Key takeaways
  • An acid is recognized by formula as H⁺ combined with an anion; the anion's identity determines the acid's name.
  • Binary acids (H + one nonmetal, no oxygen) use the pattern hydro-(root)-ic acid, e.g., HCl → hydrochloric acid.
  • Oxyacids (H + a polyatomic oxyanion) drop "hydro-" and change the anion suffix: -ate → -ic acid, -ite → -ous acid.
  • The number of acidic H's matches the anion's charge, so formulas must be charge-balanced before naming.
  • Related oxyacids/oxyanions in a family (per-, -ate, -ite, hypo-) shift name and prefix together in a strict, memorizable ladder.
  • Key idea: every acid name is really an anion name in disguise — learn the anion, and the acid name follows a fixed conversion rule.
The core insight

Naming an acid is a two-step translation: (1) identify the anion hiding inside the formula, using Naming Ionic Compounds and Polyatomic Ions; (2) apply a fixed suffix-conversion rule — "-ide" anions become "hydro-...-ic acid," while "-ate/-ite" anions become "-ic/-ous acid" (no hydro- prefix). No new chemistry is memorized; only a translation table.

The physical picture — prose + figures

An acid, in the Arrhenius sense used at this level, is a molecular compound that releases H⁺ (H₃O⁺ in water) when dissolved. Its formula is built as though H⁺ ions were paired with an anion, exactly like an ionic compound, even though the pure substance (e.g., HCl gas) is molecular and covalent. This is why acid formulas look like the ionic compounds you already name, and why the acid-naming system is really an anion-naming system wearing a different suffix. There are two structurally distinct families:

Binary acids contain hydrogen plus a single nonmetal element — no oxygen. Examples: HCl, HBr, H₂S, HF. The parent anion is a simple monatomic (or diatomic, for some) anion ending in "-ide" (chloride, bromide, sulfide, fluoride).

Oxyacids (oxoacids) contain hydrogen, oxygen, and a central nonmetal — the H is attached to a polyatomic oxyanion. Examples: H₂SO₄ (sulfate), HNO₂ (nitrite), H₃PO₄ (phosphate). The parent anion already ends in "-ate" or "-ite." The naming rule pivots entirely on which ending the parent anion has:

anion ending "-ide"  ⟶  acid name "hydro-(root)-ic acid"\text{anion ending "-ide"} \;\longrightarrow\; \text{acid name "hydro-(root)-ic acid"}
anion ending "-ate"  ⟶  acid name "(root)-ic acid"\text{anion ending "-ate"} \;\longrightarrow\; \text{acid name "(root)-ic acid"}
anion ending "-ite"  ⟶  acid name "(root)-ous acid"\text{anion ending "-ite"} \;\longrightarrow\; \text{acid name "(root)-ous acid"}

Notice that oxyacids never take the "hydro-" prefix — that prefix is reserved exclusively for binary (oxygen-free) acids. This single distinction resolves most student errors: seeing an oxygen atom in the formula should immediately rule out "hydro-".

Figure
Two families of acids, traced back to their parent anions
Binary acid Cl⁻ (chloride) → HCl "-ide" → "hydro- ... -ic acid" chlor(ide) → hydro + chlor + ic acid = hydrochloric acid Oxyacid family (from sulfur) SO₄²⁻ (sulfate) → H₂SO₄ = sulfuric acid SO₃²⁻ (sulfite) → H₂SO₃ = sulfurous acid "-ate" → "-ic acid" | "-ite" → "-ous acid" (no "hydro-")

The two-electron difference between sulfate (SO₄²⁻) and sulfite (SO₃²⁻) — one fewer oxygen — is exactly what separates "-ic" from "-ous" throughout the periodic table: more oxygen pairs with "-ic," less oxygen pairs with "-ous." For families with four oxyanions (common for halogens), the ladder extends with "per-" and "hypo-" prefixes layered on top of the -ate/-ite core, as shown for chlorine:

Figure
The four-member chlorine oxyanion/oxyacid ladder, ranked by oxygen count
More O atoms ————————————————————> Fewer O atoms ClO₄⁻ perchlorate perchloric acid ClO₃⁻ chlorate chloric acid ClO₂⁻ chlorite chlorous acid ClO⁻ hypochlorite hypochlorous acid HClO₄ HClO₃ HClO₂ HClO 4 oxygens 3 oxygens 2 oxygens 1 oxygen Ladder: per-...-ate → -ate → -ite → hypo-...-ite (anions) mirrored by: per-...-ic → -ic → -ous → hypo-...-ous (acids)

The core relations — the key equations

The entire system reduces to three conversion rules plus one bookkeeping check.

Binary acid: HnX  =  hydro-(root of X)-ic acid,n=∣charge of Xn−∣\text{Binary acid: } \text{H}_n\text{X} \;=\; \text{hydro-}(\text{root of X})\text{-ic acid}, \quad n = |\text{charge of X}^{n-}|

where: X is the nonmetal, "root of X" is its elemental stem (chlor-, brom-, sulf-), and nn equals the magnitude of the anion's charge so the compound is neutral.

Oxyacid from "-ate": Hn(oxyanion)  =  (root)-ic acid\text{Oxyacid from "-ate": } \text{H}_n(\text{oxyanion}) \;=\; (\text{root})\text{-ic acid}
Oxyacid from "-ite": Hn(oxyanion)  =  (root)-ous acid\text{Oxyacid from "-ite": } \text{H}_n(\text{oxyanion}) \;=\; (\text{root})\text{-ous acid}

where: nn again equals the magnitude of the oxyanion's charge, and "root" is the stem shared with the anion name (sulf- from sulfate/sulfite, phosphor- from phosphate/phosphite, nitr- from nitrate/nitrite).

Charge balance: n(+1)+(anion charge)=0\text{Charge balance: } n(+1) + (\text{anion charge}) = 0

where: this is simply neutrality — the number of H⁺ needed equals the anion's charge magnitude, which is why H₂SO₄ needs two hydrogens (sulfate is 2−) while HNO₃ needs only one (nitrate is 1−).

Derivation AFrom polyatomic ion table to acid formula and name

Goal. Given a polyatomic oxyanion and its charge, produce the correct acid formula and the correct acid name, using only the ion's identity and charge — no independent memorization of the acid.

Step 1. Retrieve the anion's formula and charge. Suppose the anion is phosphate, PO43−\text{PO}_4^{3-}, taken directly from a polyatomic-ion table (the same table used in Polyatomic Ions).

Step 2. Balance charge with H⁺ to build the formula. Neutrality requires

n(+1)+(−3)=0    ⇒    n=3n(+1) + (-3) = 0 \;\;\Rightarrow\;\; n = 3

so the acid formula is H3PO4\text{H}_3\text{PO}_4.

Step 3. Identify the anion's suffix. "Phosphate" ends in "-ate."

Step 4. Apply the suffix-conversion rule. "-ate" converts to "-ic acid," and the stem "phosph-" is retained:

phosph(ate)  ⟶  phosph+ic acid  =  phosphoric acid\text{phosph(ate)} \;\longrightarrow\; \text{phosph} + \text{ic acid} \;=\; \text{phosphoric acid}

Step 5. Cross-check against the paired "-ite" anion. Phosphite is PO33−\text{PO}_3^{3-} (one fewer oxygen, same charge, by convention in this family). Applying the "-ite → -ous" rule:

H3PO3=phosphorous acid\text{H}_3\text{PO}_3 = \text{phosphorous acid}

This confirms internal consistency: the only difference between the two acid names is the ic/ous suffix, tracking the oxygen count exactly as the anion names did.

Worked examples

Example 1 — Naming a binary acid formula and stress-testing a non-obvious charge. Name the aqueous acid with formula H₂Se. Step 1. Identify the anion. Selenium forms Se²⁻ (selenide), analogous to sulfide, since Se is in Group 16 like S. Step 2. Check charge balance:

2(+1)+(−2)=02(+1) + (-2) = 0

consistent with the given formula H₂Se — two acidic hydrogens match selenide's 2− charge. Step 3. Because Se is a single nonmetal with no oxygen, this is a binary acid. Apply

hydro-+selen+ic acid\text{hydro-} + \text{selen} + \text{ic acid}

Step 4. Result: hydroselenic acid. Limiting-case check: if instead the anion were 1− (as for F⁻, fluoride), the same rule would require only one H, giving HF → hydrofluoric acid — confirming the exponent nn in the charge-balance step correctly tracks anion charge rather than being fixed at 2.

Example 2 — Distinguishing "-ate" and "-ite" acids for the same element, with an asymmetric polyatomic ion. Given the anion NO2−\text{NO}_2^- (nitrite, charge 1−) and NO3−\text{NO}_3^- (nitrate, charge 1−), write and name both corresponding acids. Step 1. Charge balance for nitrite:

1(+1)+(−1)=0    ⇒    n=11(+1) + (-1) = 0 \;\;\Rightarrow\;\; n = 1

giving formula HNO2\text{HNO}_2. Step 2. Nitrite ends in "-ite," so apply "-ite → -ous acid":

nitr(ite)⟶nitr+ous acid=nitrous acid\text{nitr(ite)} \longrightarrow \text{nitr} + \text{ous acid} = \text{nitrous acid}

Step 3. Charge balance for nitrate:

1(+1)+(−1)=0    ⇒    n=11(+1) + (-1) = 0 \;\;\Rightarrow\;\; n = 1

giving formula HNO3\text{HNO}_3. Step 4. Nitrate ends in "-ate," so apply "-ate → -ic acid":

nitr(ate)⟶nitr+ic acid=nitric acid\text{nitr(ate)} \longrightarrow \text{nitr} + \text{ic acid} = \text{nitric acid}

Check: both acids need only one H, since both anions carry the same 1− charge; the formulas differ only by one oxygen (HNO₂ vs. HNO₃), exactly mirroring the "-ite" vs. "-ate" distinction — the oxygen count, not the hydrogen count, carries the naming information here.

Limiting cases & common traps

SituationWhat to checkCommon trap
Formula has no oxygenUse "hydro-...-ic acid"; find the "-ide" anion firstForgetting "hydro-" or adding it to an oxyacid
Formula has oxygenNever use "hydro-"; find whether parent is "-ate" or "-ite"Applying "hydro-" to H₂SO₄ (wrong: "hydrosulfuric acid" is actually H₂S)
Same element, two oxyacidsCompare oxygen count: more O → "-ic," fewer O → "-ous"Mixing up which of sulfuric/sulfurous has more oxygen
Four-member family (Cl, Br, I)Use per-...-ic (most O) down to hypo-...-ous (least O)Assuming only two acids exist per element
Determining number of acidic HSet nn = magnitude of anion chargeCopying a memorized "2" or "3" without checking the actual anion charge

The chemist behind it

The naming conventions used today trace back to the systematic reforms of eighteenth-century French chemistry, when chemists sought a logical language to replace the folk names of alchemy. Acids, salts, and their parent "airs" (gases) needed names that revealed composition, not history — the same philosophy underlying Naming Ionic Compounds and Naming Molecular Compounds. The -ic/-ous and per-/hypo- ladder for oxyacids emerged from recognizing that many acids came in oxygen-graded families, and that a consistent suffix system could encode "more oxygen" versus "less oxygen" without inventing a new word for every compound.

Origins · 1 minAntoine-Laurent de Lavoisier and how this was discovered
AD
Antoine-Laurent de Lavoisier
1743–1794 · Founder of the systematic chemical nomenclature later extended to acids and oxyanions

Lavoisier, working with Guyton de Morveau, Berthollet, and Fourcroy, published a nomenclature reform in 1787 that assigned names based on composition rather than appearance or origin. Lavoisier's own (mistaken) belief that oxygen was essential to all acids — the word "oxygen" itself derives from Greek roots meaning "acid-former" — nonetheless left a durable and correct legacy: naming acids by tracking their oxygen content relative to a parent anion, precisely the -ate/-ic and -ite/-ous correspondence still taught today.

Ask the tutor: How would you name the acid formed from the anion ClO₃⁻ (chlorate), and how many acidic hydrogens does its formula require?

Why doesn't "hydro-" ever appear in an oxyacid's name?

The "hydro-" prefix specifically signals "hydrogen combined with a nonmetal, and nothing else" — i.e., no oxygen present. As soon as oxygen enters the formula (via a polyatomic oxyanion), the compound is classified as an oxyacid, and naming switches entirely to the -ate/-ic or -ite/-ous suffix system. Including "hydro-" on an oxyacid would incorrectly imply it is oxygen-free.

How do I know how many H atoms an acid formula needs?

Set the number of H⁺ equal to the magnitude of the parent anion's charge, exactly as in ordinary ionic-compound formula writing (see Naming Ionic Compounds). Sulfate is SO₄²⁻, so two H⁺ are needed (H₂SO₄); phosphate is PO₄³⁻, so three H⁺ are needed (H₃PO₄); nitrate is NO₃⁻, so only one H⁺ is needed (HNO₃).

What if an element forms more than two oxyanions, like chlorine?

Some elements (chlorine, bromine, iodine) form four oxyanions differing by oxygen count. The suffix ladder extends with prefixes: per-...-ate (most O) → -ate → -ite → hypo-...-ite (least O), and the matching acids follow per-...-ic → -ic → -ous → hypo-...-ous. Each step down removes one oxygen atom while the charge stays the same within the family.

Is "acid" naming used for all H-containing compounds?

No. The acid-naming system applies specifically to compounds conventionally treated as releasing H⁺ in water — typically written with H first (HCl, H₂SO₄) — as opposed to compounds like CH₄ or NH₃, which are named with ordinary Naming Molecular Compounds rules (or as covalent hydrides) because they are not conventionally treated as Arrhenius acids in this context.

Why do sulfate and phosphate use "sulf-" and "phosph-" instead of the full element name?

The stem is simply the shortened elemental root, the same root used throughout the anion's own name (sulfate, sulfite both use "sulf-"; phosphate, phosphite both use "phosph-"). The acid name reuses that identical stem and only swaps the ending, which is exactly why memorizing the anion table from Polyatomic Ions is sufficient to generate every acid name without separate memorization.