Lipinski's rule of 5
v1.0.0Screen compounds for oral bioavailability using molecular weight, LogP, hydrogen bond donor, and acceptor limits.
Lipinski's rule of five (Ro5), also written as the rule of 5 or called Pfizer's rule of five, is a quick test of whether a compound looks like an oral drug. It says poor absorption or permeation is more likely when a molecule breaks more than one of four limits: molecular weight above 500 Da, logP above 5, more than 5 hydrogen bond donors, or more than 10 hydrogen bond acceptors. Every cutoff is 5 or a multiple of 5, which gives the rule its name.
| Criterion | Limit | What it stands for |
|---|---|---|
| Molecular weight | Da | Size; large molecules dissolve and diffuse through membranes more slowly |
| LogP (octanol/water) | Lipophilicity; very lipophilic compounds dissolve poorly in gut fluid | |
| Hydrogen bond donors (HBD) | Lipinski counted the OH and NH groups | |
| Hydrogen bond acceptors (HBA) | Lipinski counted the nitrogen and oxygen atoms |
Aspirin clears all four limits easily: 180.16 Da, a calculated logP of 1.31, one donor and three acceptors. Atorvastatin breaks two, at 558.65 Da and a logP of 6.31, and it is still taken as a tablet. The rule describes where most oral drugs sit. It does not mark a boundary they cannot cross.
Christopher Lipinski, Franco Lombardo, Beryl Dominy and Paul Feeney at Pfizer published the rule in 1997 in Advanced Drug Delivery Reviews (Lipinski et al., 1997; reprinted in 2001). They drew the limits from the properties of compounds that had reached clinical development, at a time when high-throughput screening was producing leads that were larger and more lipophilic than leads from the years before it.
The original logP limit was written for calculated logP from the CLogP program, with an alternative cutoff of 4.15 for Moriguchi logP (MLogP). Lipinski also stated that the rule only holds for compounds that are not substrates of active transporters, a condition later reviews still repeat (Benet et al., 2016).
The rule raises its alert at two or more violations, not one (Benet et al., 2016). A single property out of range is common among successful oral drugs: in our analysis below, 14.1% of approved oral drugs break exactly one limit. Ponatinib is one of them. At 532.57 Da it is over the weight limit, but its logP, donors and acceptors are all inside, so it passes. This calculator follows the same convention and marks a compound as passing when it has 0 or 1 violations.
We scored every orally given drug in our approved drug library with the same calculation this tool runs. The library holds 2,104 approved small-molecule drugs from ChEMBL 37, and 1,238 of them carry ChEMBL's oral flag on the parent or one of its salt forms.
Of those 1,238 oral drugs, 1,120 (90.5%) pass. 945 (76.3%) break no limit at all, 175 (14.1%) break one, and 118 (9.5%) break two or more. The limits are not equally strict in practice. Molecular weight above 500 Da (14.8% of oral drugs) and logP above 5 (13.7%) are common, while more than 5 donors (2.2%) and more than 10 acceptors (4.2%) are rare.
The share of rule breakers has grown since the rule was published. Grouped by ChEMBL's first approval year (29 drugs have none and are left out), the numbers look like this:
| First approved | Oral drugs | Two or more violations | Molecular weight above 500 Da |
|---|---|---|---|
| Before 1997 | 679 | 5.6% | 7.8% |
| 1997 to 2009 | 218 | 9.6% | 13.8% |
| 2010 onward | 312 | 18.3% | 31.4% |
Benet and colleagues found the same shift in a separate set of 852 oral drugs: 5.6% of those approved before the Ro5 paper broke two or more limits, compared with 15.7% of those approved after it (Benet et al., 2016). Shultz reached a similar conclusion from the property limits themselves: the molecular weight and acceptor values that cover approved oral drugs have risen over two decades, while logP and donor counts have stayed about the same (Shultz, 2019).
Paste SMILES strings into the calculator, one compound per line, or upload a file, and run it. For each compound you get molecular weight, logP, hydrogen bond donors and acceptors, the number of Ro5 violations, and a pass or fail result. There are no settings to choose. Free accounts can screen 5 compounds per run, and paid plans up to 10,000.
Put a name before each SMILES, separated by a tab, to keep compound names in the results:
aspirin CC(=O)Oc1ccccc1C(=O)O
metformin CN(C)C(=N)N=C(N)N
ponatinib Cc1ccc(C(=O)Nc2ccc(CN3CCN(C)CC3)c(C(F)(F)F)c2)cc1C#Cc1cnc2cccnn12
atorvastatin CC(C)c1c(C(=O)Nc2ccccc2)c(-c2ccccc2)c(-c2ccc(F)cc2)n1CC[C@@H](O)C[C@@H](O)CC(=O)O
venetoclax CC1(C)CCC(c2ccc(Cl)cc2)=C(CN2CCN(c3ccc(C(=O)NS(=O)(=O)c4ccc(NCC5CCOCC5)c([N+](=O)[O-])c4)c(Oc4cnc5[nH]ccc5c4)c3)CC2)C1The calculator returns:
| Name | Weight (Da) | LogP | HBD | HBA | Violations | Passes RO5 |
|---|---|---|---|---|---|---|
| aspirin | 180.16 | 1.31 | 1 | 3 | 0 | true |
| metformin | 129.17 | -1.24 | 3 | 1 | 0 | true |
| ponatinib | 532.57 | 4.46 | 1 | 6 | 1 | true |
| atorvastatin | 558.65 | 6.31 | 4 | 5 | 2 | false |
| venetoclax | 868.46 | 8.66 | 3 | 11 | 3 | false |
Atorvastatin and venetoclax fail, yet both are approved oral drugs. The exceptions below explain why a failing result is a prompt to look closer, not a verdict.
| Input | Details |
|---|---|
| Pasted text | One SMILES per line. A line can also be name, a tab, then the SMILES, or the SMILES, a space, then a name, as in .smi files. |
| File upload | .smi, .smiles, .txt, .csv or .tsv, up to 50 MB. With a header row, CSV and TSV files need a smiles column, and a name, id or compound column supplies names. Without a header, CSV rows are read as SMILES then name, and TSV rows as name then SMILES. |
| PubChem | Fetch compounds by name or CID from the file dropdown. |
Lines without a name get a numbered placeholder. A SMILES that cannot be parsed returns a row marked Invalid SMILES instead of values, and the rest of the batch still runs.
| Column | Meaning |
|---|---|
Name | The name you supplied, or a numbered placeholder |
SMILES | The input structure |
Weight (Da) | Average molecular weight in daltons (g/mol) |
LogP | Calculated octanol/water partition coefficient |
HBD | Hydrogen bond donor count |
HBA | Hydrogen bond acceptor count |
Violations | How many of the four limits the compound exceeds, from 0 to 4 |
Passes RO5 | true when there are 0 or 1 violations |
Results can be copied or downloaded as a table.
The calculator uses RDKit, the open-source cheminformatics toolkit, on the structure exactly as you enter it. It does not strip salts, neutralize charges or change protonation, so the numbers describe the SMILES you paste.
Molecular weight is the average molecular weight from standard atomic weights, with implicit hydrogens included. Every fragment in the SMILES counts, so a salt written as CCN.Cl includes the hydrochloride. Remove counterions first if you want the value for the parent drug.
LogP is RDKit's Wildman-Crippen estimate, which adds up contributions from each atom type (Wildman and Crippen, 1999). It is not the CLogP or MLogP program that Lipinski used, and different logP methods disagree. Treat a compound with a logP near 5 as borderline rather than a clear pass or fail.
The donor and acceptor counts follow RDKit's hydrogen bond definitions, which are stricter than Lipinski's simple counting. A donor is an N, O or S atom that carries at least one hydrogen, so an NH2 group counts once rather than twice. An acceptor is an oxygen or sulfur that can accept a hydrogen bond, or a nitrogen whose lone pair is not tied up in an adjacent C=O or C=N bond, so amide nitrogens and the hydroxyl oxygen of a carboxylic acid are not counted.
| Compound | HBD (this tool) | OH + NH (Lipinski) | HBA (this tool) | N + O (Lipinski) |
|---|---|---|---|---|
| aspirin | 1 | 1 | 3 | 4 |
| metformin | 3 | 5 | 1 | 5 |
| atorvastatin | 4 | 4 | 5 | 7 |
| venetoclax | 3 | 3 | 11 | 14 |
The difference rarely changes the verdict. Across the 1,238 oral drugs above, Lipinski's own counting puts 8.0% over the acceptor limit instead of 4.2%, and the pass rate drops from 90.5% to 88.2%. If you need to compare against a paper that used N and O atom counts, expect a few compounds to move. Molecular descriptors reports the same properties alongside TPSA, rotatable bonds and QED when you want the fuller picture.
Natural products were outside the rule from the start, and they account for most oral drugs that break two or more limits (Benet et al., 2016). In our data, rifampicin (822.95 Da) and sirolimus (914.19 Da) each break three limits, and the macrolide antibiotics erythromycin and azithromycin break two. Cyclosporine, at 1,202.6 Da, is the textbook case. Many of these molecules can fold so that their polar groups face each other, which lets them cross membranes that their size alone would rule out.
Transporter substrates are the second exception Lipinski named. A compound that an intestinal uptake transporter carries across the gut wall does not depend on passive diffusion, so the physical limits matter less. Benet and colleagues turn the logic around: an oral drug that falls outside the rule is assumed to be using a transporter. Prodrugs are a related route, where an ester or similar group is added to get the molecule absorbed and removed afterwards.
Some modern drugs sit far beyond the rule of five by design, a region called bRo5. Targets with large, flat binding sites, such as protein-protein interfaces, need larger ligands. Among HIV protease inhibitors and hepatitis C drugs, 16 of 21 break two or more limits (Benet et al., 2016); ledipasvir (889.02 Da, logP 8.61) and the BCL-2 inhibitor venetoclax are oral examples from our set.
Doak and colleagues reviewed oral drugs and clinical candidates above 500 Da and found that intramolecular hydrogen bonds, macrocyclization, dose and formulation can all rescue oral bioavailability in this space (Doak et al., 2014). Natural products and structure-based design from peptide leads were their main sources. Macrocycles that switch between a polar shape in water and a less polar shape in membranes, sometimes called chameleons, are the clearest case.
PROTACs are a newer class built outside Ro5 space. These heterobifunctional degraders join a ligand for the target protein to a ligand for an E3 ligase through a linker, which pushes molecular weight and polar surface area well past the limits (Edmondson et al., 2019). Several orally dosed PROTACs have still reached clinical trials (Rej et al., 2024).
The rule also says nothing about drugs that are not taken by mouth. Intravenous, inhaled, topical and subcutaneous drugs skip gut absorption, and they break the rule far more often than oral drugs do: in Benet's set, a third or more of non-oral drugs broke two or more limits.
Nor does passing make a compound drug-like in a broader sense. More than 82% of a filtered set of ordinary chemical reagents also comply with the rule, so it cannot tell drugs from non-drugs (Benet et al., 2016). Use it to flag absorption risk, then look at potency, toxicity and metabolism separately.
Veber's rule came out of a different data set and asks a different question. Veber and colleagues at SmithKline Beecham measured oral bioavailability in rats for more than 1,100 drug candidates and found that flexibility and polarity separated good from poor bioavailability better than weight did (Veber et al., 2002).
Their criteria are 10 or fewer rotatable bonds and a polar surface area of at most 140 Ų, or 12 or fewer donors and acceptors combined. The 500 Da cutoff on its own did not separate their compounds.
The two rules mostly agree on real drugs. Of the 1,238 oral drugs in our set, 1,031 (83.3%) pass both. 89 pass Lipinski but fail Veber, usually because they are long and flexible or very polar, as with aliskiren, darunavir and doxycycline. Only 38 fail Lipinski but pass Veber. Running Veber's rule next to this calculator catches the flexible, polar compounds that Ro5 lets through.
| Goal | Tool |
|---|---|
| Check oral absorption risk from size, logP and hydrogen bonding | Lipinski's rule of 5 (this page) |
| Check flexibility and polar surface area | Veber's rule |
| Get Lipinski, Veber and Ghose violation counts with TPSA, rotatable bonds and QED in one table | Molecular descriptors |
| Keep smaller starting points that leave room for optimization | Lead-likeness filter |
| Remove compounds likely to interfere with assays | PAINS filter |
| Flag reactive or toxic substructures | Brenk filter |
| Predict absorption, metabolism and toxicity endpoints directly | ADMET-AI |
In virtual screening, these filters work best as an early triage of a large library, before docking or more expensive predictions.
Molecular weight of 500 Da or less, logP of 5 or less, no more than 5 hydrogen bond donors and no more than 10 hydrogen bond acceptors. A compound that breaks two or more of these is flagged as likely to be poorly absorbed.
Because every cutoff is 5 or a multiple of 5: 500 Da, logP 5, 5 donors and 10 acceptors. There are four criteria, not five.
One. Lipinski's alert is raised at two or more violations, and this calculator marks a compound with 0 or 1 violations as passing.
Yes. Lipinski and his co-authors worked at Pfizer when they published it in 1997, so both names refer to the same four criteria.
Programs define donors and acceptors differently. This tool uses RDKit's definitions, which skip amide nitrogens and count an NH2 group as one donor; Lipinski's paper counted every N and O atom as an acceptor and every OH and NH as a donor. LogP also varies between methods.
Not reliably. The rule was built for small molecules absorbed by passive diffusion. Peptides, macrocycles and PROTACs routinely break it, and some are still orally bioavailable; biologics are not given orally at all.
Identify toxic and reactive fragments using Brenk structural alert filter.
Screen for lead-like compounds using stricter molecular descriptor criteria for early optimization.
Screen compounds for Pan-Assay Interference patterns using PAINS_A, PAINS_B, and PAINS_C filters.
Evaluate oral bioavailability from rotatable bonds, polar surface area, and molecular descriptors.
Predict absorption, distribution, metabolism, excretion, and toxicity properties for compound libraries.
Profile small-molecule ADMET properties across 22 Chemprop-based prediction models.
Train molecular property models on your own data
Estimate toxicity risk and synthetic accessibility scores from SMILES for compound prioritization.
Evaluate PPI inhibitor potential and drug-likeness from molecular descriptors and SMILES inputs.
Screen compounds for structural toxicity alerts using PAINS filters, BRENK filters, and NIH filters for safer drug discovery.