Boolean Minimization Lab

Boolean Minimization Lab

Specify each truth-table row as 0, 1 or X, or enter ON and don't-care minterm lists. This lab combines implicants with Quine–McCluskey and searches exact covers within a four-variable limit. It first minimizes the number of SOP terms, then the number of literals, and retains all equally minimal covers. Every expression is checked against all specified 0 and 1 rows; X rows may take either output.

1. Define the truth table

Each index is the binary input A, B, C, D in that order. Output X means don't-care, not an unknown to be resolved by measurement.

Use comma-separated indices or inclusive ranges such as 0,2,5-7. Unlisted rows are 0. Lists must not overlap.

Editable truth table
mABCDF
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
101010
111011
121100
131101
141110
151111

Load the example or enter ON and don't-care rows.

Comments & questions

Boolean Minimization Lab

Specify each truth-table row as 0, 1 or X, or enter ON and don't-care minterm lists. This lab combines implicants with Quine–McCluskey and searches exact covers within a four-variable limit. It first minimizes the number of SOP terms, then the number of literals, and retains all equally minimal covers. Every expression is checked against all specified 0 and 1 rows; X rows may take either output.

Key features

  • 2–4 named Boolean inputs with editable truth-table rows and minterm ranges
  • Strict detection of duplicate, overlapping and out-of-range indices
  • Exact Quine–McCluskey prime implicants and minimum cover by term count, then literal count
  • All tied optimum expressions and exhaustive verification on every specified input
  • Gray-ordered Karnaugh map with selected implicant group labels and standalone SVG
  • Download expression text, all-solution JSON and selected Karnaugh SVG

How to use

  1. Choose two to four inputs and mark each truth-table row 0, 1 or X; alternatively type comma-separated ON and don't-care indices or short ranges.
  2. Apply list edits or press Minimize. A changed table updates the lists automatically.
  3. Read the verified SOP and select among equal optima when more than one exists.
  4. Inspect Gray-ordered map cells and group labels, including groups that wrap around map edges.
  5. Download the expression, machine-readable result JSON or a standalone Karnaugh SVG.

Use cases

  • Find a compact combinational SOP from a small specification
  • Compare equally minimal covers before drawing a gate circuit
  • Teach prime implicants, don't-cares and wraparound Karnaugh groups
  • Check a manually simplified expression against every specified truth row

Frequently asked questions

What does X mean?

X is a don't-care input. The minimized output can be 0 or 1 at that row; only specified 0 and 1 rows must match. Do not mark a required behavior X.

What does minimum mean here?

Among sum-of-products covers, the lab minimizes the number of product terms first and the total number of literals second. It lists every cover tied on both measures; it does not optimize gate-library delay or power.

Is the result exact?

Yes for the supported 2–4 variables and this SOP objective. Quine–McCluskey derives prime implicants, exact cover search finds all optima, and every non-X truth-table row is exhaustively checked.

Why can one group appear on opposite map edges?

Karnaugh rows and columns use Gray order. The first and last cell in a row or column are adjacent by one input bit, so a valid implicant may wrap across the drawn edge.

Does this simulate a real circuit?

No. It minimizes a static combinational truth table. It does not model propagation delay, flip-flop state, hazards or physical gate cost.

Are my inputs uploaded?

No. Editing, minimization and downloads run in this browser tab.

Privacy

Truth tables and expressions stay in this browser tab; no server-side computation or upload is used.

Related Tools

Number Base ConverterBinary Protocol DesignerLogic Grid Puzzle MakerWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →