Skip to content

NOR gate: truth table for 2, 3 and 4 inputs, universal gate

NOR is an OR followed by a NOT: NOR(A, B) is TRUE only when both inputs are FALSE. Like NAND it is universal, and it is the gate behind “neither A nor B”.

The two-input table is the OR table inverted: one TRUE row, the first, where A and B are both FALSE, and three FALSE rows. For three and four inputs the language writes NOT (A OR B OR C) and NOT (A OR B OR C OR D), shown below, each TRUE on row 0 only. As with NAND, the gate is accepted only as NOR(A, B) with exactly two operands, because a chain of NOR gates is not associative and would have no agreed grouping.

By De Morgan, NOR(A, B) is NOT A AND NOT B: both inputs fail. That is the precise meaning of “neither A nor B”, and the pitfall page shows why NOT A OR NOT B (which is NAND) is the wrong translation. In a diagram the gate is the OR shape with a bubble on its output.

Universality works as for NAND, with the roles of AND and OR swapped: NOR(A, A) is NOT A, NOR(NOR(A, B), NOR(A, B)) is A OR B, and NOR(NOR(A, A), NOR(B, B)) is A AND B. The NOR-only converter applies these constructions, reports the gate count and checks the result exactly, and the comparison page sets the NAND and NOR counts for one rule side by side.

Accepted spellings

NOR(a, b)

WordsNOR(a, b)
ProgrammingNOR(a, b)
MathematicalNOR(a, b)
AlgebraNOR(a, b)

2 inputs: NOR(A, B)

NOR(A, B)
#ABf
0FALSEFALSETRUE
1FALSETRUEFALSE
2TRUEFALSEFALSE
3TRUETRUEFALSE
Beginnerf is true exactly when neither A nor B is true.
In every other case, f is false.
About the operators:
- NOR (“not or”) is true only when both parts are false.
Intermediatef is true exactly when neither A nor B is true.
In every other case, f is false.
Advancedf is true exactly when neither A nor B is true [Peirce arrow ↓ (NOR)].
In every other case, f is false.
Formal notation: NOR(A, B)
NOR(A, B) NOR(A, B) A B f NOR
NOR(A, B) NOR(A, B) A B f NOR

3 inputs: NOT (A OR B OR C): NOT (A OR B OR C)

NOT (A OR B OR C)
#ABCf
0FALSEFALSEFALSETRUE
1FALSEFALSETRUEFALSE
2FALSETRUEFALSEFALSE
3FALSETRUETRUEFALSE
4TRUEFALSEFALSEFALSE
5TRUEFALSETRUEFALSE
6TRUETRUEFALSEFALSE
7TRUETRUETRUEFALSE
Beginnerf is true exactly when the following condition does not hold:
1. at least one of A, B, or C is true (several may be true)
In every other case, f is false.
About the operators:
- NOT reverses a value: true becomes false and false becomes true.
- OR is inclusive: it is true when at least one part is true, including when several are.
Intermediatef is true exactly when the following condition does not hold:
1. at least one of A, B, or C is true (several may be true)
In every other case, f is false.
Advancedf is true exactly when the following condition does not hold [negation ¬]:
1. at least one of A, B, or C is true (several may be true) [inclusive disjunction ∨]
In every other case, f is false.
Formal notation: ¬(A ∨ B ∨ C)
NOT (A OR B OR C) NOT (A OR B OR C) A B C f NOT OR
NOT (A OR B OR C) NOT (A OR B OR C) A B C f NOT OR

4 inputs: NOT (A OR B OR C OR D): NOT (A OR B OR C OR D)

NOT (A OR B OR C OR D)
#ABCDf
0FALSEFALSEFALSEFALSETRUE
1FALSEFALSEFALSETRUEFALSE
2FALSEFALSETRUEFALSEFALSE
3FALSEFALSETRUETRUEFALSE
4FALSETRUEFALSEFALSEFALSE
5FALSETRUEFALSETRUEFALSE
6FALSETRUETRUEFALSEFALSE
7FALSETRUETRUETRUEFALSE
8TRUEFALSEFALSEFALSEFALSE
9TRUEFALSEFALSETRUEFALSE
10TRUEFALSETRUEFALSEFALSE
11TRUEFALSETRUETRUEFALSE
12TRUETRUEFALSEFALSEFALSE
13TRUETRUEFALSETRUEFALSE
14TRUETRUETRUEFALSEFALSE
15TRUETRUETRUETRUEFALSE
Beginnerf is true exactly when the following condition does not hold:
1. at least one of A, B, C, or D is true (several may be true)
In every other case, f is false.
About the operators:
- NOT reverses a value: true becomes false and false becomes true.
- OR is inclusive: it is true when at least one part is true, including when several are.
Intermediatef is true exactly when the following condition does not hold:
1. at least one of A, B, C, or D is true (several may be true)
In every other case, f is false.
Advancedf is true exactly when the following condition does not hold [negation ¬]:
1. at least one of A, B, C, or D is true (several may be true) [inclusive disjunction ∨]
In every other case, f is false.
Formal notation: ¬(A ∨ B ∨ C ∨ D)
NOT (A OR B OR C OR D) NOT (A OR B OR C OR D) A B C D f NOT OR
NOT (A OR B OR C OR D) NOT (A OR B OR C OR D) A B C D f NOT OR

The common slip

Translating “neither A nor B” as NOT A OR NOT B. That formula is also TRUE when only one of them fails. “Neither” requires both to fail: NOT A AND NOT B, which is NOR(A, B), TRUE on a single row.

Questions

Which is cheaper, NAND or NOR?

It depends on the function and the technology. In the NOR family OR costs two gates and AND three; in the NAND family it is the other way round. The converter reports the count for any expression, and the comparison page discusses the choice.

What is NOR with a constant input?

NOR(A, FALSE) is NOT A, the constant-input inverter the converter uses when duplicating a signal would be too large, and NOR(A, TRUE) is always FALSE, because TRUE dominates the OR inside.

Related

Guides

Worked examples that use it

Laws

Tools

Practice

See also

Operators and gates

Generated from the Tangibool engine, semantics tangibool-semantics/1, engine 1.0.0, build . Every table, map, simplification and verdict on these pages was computed by the Tangibool engine when the site was built, and every claim was re-checked by the same exact checker the app uses. Limits are stated where they apply. © 2026 Foreranger LTD.