Truth Table Generator

Type a propositional formula such as (p ∧ q) → p. The page builds the truth table of every combination of true and false values, and says whether the formula is always true, always false, or true in some rows only.

Free Runs in your browser Checked Tuesday, November 10, 2026

This tool runs in your browser. What you enter is not sent to us.

How to use it

  1. Type the formula in the Formula box. Use a lower-case letter for each statement, and brackets to group.
  2. Read the Verdict: always true, always false, or true in some rows only.
  3. Read the Truth table row by row: T means true, F means false, and the last column is the formula.

How each connective is read

The meaning of the connectives is the classical one. A negation ¬φ is true when φ is not true. A conjunction φ ∧ ψ is true when both parts are true, and a disjunction φ ∨ ψ is true when at least one part is true. A conditional φ → ψ is true unless φ is true and ψ is false, and a biconditional φ ↔ ψ is true when φ and ψ have the same value.

The Stanford Encyclopedia of Philosophy gives these truth conditions in its entry on classical logic. It defines the biconditional as an abbreviation of (φ → ψ) and (ψ → φ), which is the same as the rule above.

¬p      true when p is false
p ∧ q   true when p and q are both true
p ∨ q   true when p or q (or both) is true
p → q   false only when p is true and q is false
p ↔ q   true when p and q have the same value

How the table is built and read

  • Each letter is a statement that can be true or false. With n letters there are 2 to the power of n rows, so two letters give 4 rows and six letters give 64.
  • The first letter (alphabetically) is true in the first half of the rows, and the last letter changes fastest, so the rows run TT, TF, FT, FF for two letters.
  • A tautology is true in every row, a contradiction is false in every row, and any other formula is contingent: its value depends on the row.

Reading brackets when they are missing

This page reads an unbracketed formula in a fixed way: not binds tightest, then and, then or, then if-then, then if-and-only-if. A chain of if-then arrows groups to the right, so p → q → r means p → (q → r). Write brackets when you mean something else; the example of p ∨ q ∧ r is read as p ∨ (q ∧ r).

Worked example: p → q

The formula p → q has two letters, so the table has four rows. It is false only in the row where p is true and q is false, so the verdict is that it is true in some rows and false in others.

p q p → q
T T T
T F F
F T T
F F T

Frequently asked questions

What is a tautology?

A tautology is a formula that is true in every row of its truth table, whatever the truth values of its letters. The page shows it as Always true, for example (p ∧ q) → p.

What is the difference between a tautology and a contradiction?

A tautology is true in every row, while a contradiction such as p ∧ ¬p is false in every row. A formula that is true in some rows and false in others is contingent.

Why are there 2 to the power of n rows?

Each letter can be true or false, and the rows list every combination of those values. With two letters there are 2 x 2 = 4 rows, and with three there are 8.

Can I use the symbols on my keyboard?

Yes. ! or ~ means not, & means and, | means or, -> means if then, and <-> means if and only if. The page reads them the same as the symbols ¬ ∧ ∨ → ↔.

Why does the page allow only six letters?

Six letters give 64 rows, which fit on a screen. A formula with more letters can be checked by splitting it into smaller parts.

Is my formula stored?

No. The table is built in your browser and nothing you type is sent to us.

Sources

Figures and text last checked on Tuesday, November 10, 2026.

We use necessary cookies to run the site. With your consent, Google also uses advertising cookies to show personalised ads. If you reject them, you still see ads, but they are not personalised.