The rule of five was published by Christopher Lipinski and colleagues in 1997, based on an
analysis of compounds that made it into clinical trials versus those that failed. It is a set of
four thresholds, each involving the number five or a multiple of it — hence the name.

The four rules

Property Threshold What it reflects
Molecular weight ≤ 500 Da Size — large molecules diffuse poorly
logP (octanol/water) ≤ 5 Lipophilicity — too greasy means poor solubility
Hydrogen bond donors (HBD) ≤ 5 Count of N–H and O–H groups
Hydrogen bond acceptors (HBA) ≤ 10 Count of N and O atoms

The usual interpretation is "no more than one violation". Two or more violations is where the
probability of poor oral absorption rises sharply.

Where the numbers come from — and what they really mean

The thresholds were not derived from first principles. They are the 90th percentile of the
distribution for compounds that reached phase II trials. In other words: the rule describes the
space that historically successful oral drugs occupied, not a physical law.

That has two consequences worth remembering:

  • Passing the rule does not make a compound a drug. It makes it statistically similar to ones that entered trials.
  • Failing the rule does not make a compound useless. Many antibiotics, antifungals, PROTACs and natural products are far outside the space and work very well.

Worked example: aspirin

SMILES: CC(=O)Oc1ccccc1C(=O)O

Property Value Pass?
MW 180.16 ✅
logP 1.19 ✅
HBD 1 (the carboxylic acid OH) ✅
HBA 4 (three O, one carbonyl O counted separately) ✅

Aspirin passes on all four. Run the same input through the drug-likeness
checker
and you get the same table in one request.

The Veber extensions

Lipinski's rule says nothing about flexibility, which turns out to matter for oral
bioavailability. Veber et al. (2002) added two criteria that are now usually reported alongside:

  • Rotatable bonds ≤ 10 — fewer conformations, better absorption
  • Polar surface area (TPSA) ≤ 140 Ų — beyond this, passive permeability drops

A molecule can pass Lipinski and fail Veber — a long flexible chain with one polar group, for
example. Reporting both gives a much more honest picture, which is why our
checker shows all six numbers.

Common mistakes

Counting hydrogen bond acceptors wrong

Lipinski's HBA count is the sum of nitrogen and oxygen atoms, not the number of lone pairs and
not the number of acceptor groups. A nitro group counts as three, a carboxylate as two.

Using logP when you mean logD

The rule uses logP — the partition coefficient of the neutral form. At physiological pH, an
ionisable acid or base has a very different effective lipophilicity (logD). A carboxylic acid
with logP 4.5 may have logD near 1 at pH 7.4. If you are reasoning about absorption, logD is
usually the more relevant number.

Applying it to biologics

The rule was derived from small molecules. Applying MW ≤ 500 to an antibody or a peptide is
meaningless — those molecules are designed to work by entirely different mechanisms.

Use it as a filter, not a verdict

The most useful application is triage: run a large library through the rule, flag compounds with
two or more violations, and spend your synthesis budget elsewhere first. Keep the flag, not the
decision. Run the checker on any SMILES string, or paste a whole library
into the batch converter to compute properties in bulk.

Run the rule on any SMILES string with the free drug-likeness checker, or paste a whole library into the batch converter.