Boolean minimization, step by step.

Short lessons and interactive tools for turning truth tables into the smallest circuits — built for students of digital logic.

Try the Scheinman tool Start learning

Two AND gates feeding an OR gate: F equals A C plus not-B not-C A C B C F
F = Σm(0, 4, 5, 7)  →  F = AC + BC

What “minimizing” means

The same function, three ways. Every method on this site is a careful way of getting from the first to the last.

  1. 1 Start from the truth table

    The rows where F is 1 are the minterms: here 0, 4, 5 and 7.

    #ABCF
    00001
    10010
    20100
    30110
    41001
    51011
    61100
    71111
  2. 2 Find the prime implicants

    Combine minterms that differ in one bit until nothing more combines. Three groups survive:

    • -00covers 0, 4BC
    • 10-covers 4, 5AB
    • 1-1covers 5, 7AC
  3. 3 Choose the smallest cover

    Minterm 0 needs BC and minterm 7 needs AC. Together they already cover 4 and 5, so AB is not needed.

    F = AC + BC

    Two AND gates and one OR gate, instead of four 3-input ANDs.

Tools

Seven tools, all running in your browser or on this site, and each one shows its work.

  • Scheinman tree method

    Minimize single- and multiple-output functions and see every step of the tree, then the prime implicant chart.

    Open the tool →

  • Scheinman tree, step by step

    Every node of the tree drawn as you would write it by hand: the split, the matches, the check marks, then the chart.

    Open the tool →

  • K-map solver

    Click the cells of a 2–5 variable Karnaugh map and watch the groups and the minimal expression appear.

    Open the tool →

  • Quine–McCluskey steps

    The tabular method, one merge at a time, ending in the prime implicant chart.

    Open the tool →

  • Truth table converter

    From an expression to its truth table, minterms and canonical forms — and back again.

    Open the tool →

  • Gate circuit viewer

    Draw any minimized result as a network of AND, OR and NOT gates, with shared gates highlighted.

    Open the tool →

  • Espresso

    The classic heuristic minimizer, for comparing against exact methods on larger functions.

    Open the tool →