Boolean Expression Converter
One entry per line - minterm mode: A,B,C; 0,2,5,7 (or 3; 0,2,5,7); expression mode: a SOP such as A'B + AC' or a POS such as (A+B')(A'+C)
Input mode:   Variable order:   Separator:
Calculation Result Download CSV
No. Form Boolean expression Minterms Σm Maxterms ΠM

Introduction to the tool and how to use it

A two-way converter for boolean logic: SOP to POS, POS to SOP, minterms to maxterms and truth-table row numbers to canonical forms - one expression per line, batch friendly.

Three input modes:
1. Minterm list to expression - write "variables; rows", e.g. A,B,C; 0,2,5,7, or just the variable count, e.g. 3; 0,2,5,7 (variables default to A, B, C). Prefix the rows with Sigma m(...) for minterms or Pi M(...) for maxterms (the complement is taken automatically).
2. SOP expression to POS - e.g. A'B + AC'.
3. POS expression to SOP - e.g. (A+B')(A'+C).

Notation: negation as ' (postfix) or ! / NOT (prefix); OR as + / | / OR; AND as . / * / AND, or simply juxtaposed (AB means A AND B); variables are a single letter or a letter plus digits (A, B1, x2) with at most 8 variables; the constants 0 and 1 are also accepted.

Every line returns four equivalent forms: canonical SOP (Sigma-m), canonical POS (Pi-M), the minterm indexes and the maxterm indexes. The variable order option (first appearance or alphabetical) sets the bit order, so it changes the row numbers - the numbers are permuted along with it.

No eval or new Function is used: a hand-written lexer, recursive-descent parser, AST and recursive evaluator enumerate the truth table (at most 2^8 = 256 rows) and build the canonical SOP/POS algebraically (no Karnaugh maps), then assert that the minterms and maxterms exactly cover all rows, do not overlap, and match the row-by-row evaluation of the original expression - any mismatch is reported. This tool converts between expression forms only and does not print a full truth table (use the Truth Table Generator for that).

Message board

All messages →
0/200

  • No one has spoken up yet — want to go first?