Simplify Your Workflow: Search MiniWebtool.
Add Extension
> Network Flow Calculator (Max Flow)

Network Flow Calculator (Max Flow)

Compute the maximum flow from source to sink in a capacitated directed network using the Ford-Fulkerson method (Edmonds-Karp). Animates every augmenting path, shows residual capacities, saturated edges, and the min-cut partition that proves optimality.

Network Flow Calculator (Max Flow)
Edge format: A -> B : 10 (arrow plus capacity), or A, B, 10. Matrix format: one row per line, C[i][j] is the capacity of edge i → j (use 0 for no edge). Diagonal must be 0.
Comma- or space-separated labels, one per matrix row. Defaults to S, A, B, …, T.

Embed Network Flow Calculator (Max Flow) Widget

About Network Flow Calculator (Max Flow)

The Network Flow Calculator computes the maximum flow from a chosen source s to a chosen sink t in any capacitated directed network. Under the hood it runs the Ford-Fulkerson method with breadth-first augmenting paths (the Edmonds-Karp algorithm), then records every path it found so you can replay the entire decision process one iteration at a time. The result page also surfaces the min-cut — the bottleneck partition that proves your flow value is truly optimal.

What Is the Maximum Flow Problem?

A flow network is a directed graph G = (V, E) together with a capacity function c: E → ℝ≥0. Two vertices are distinguished: the source s (where flow originates) and the sink t (where it is consumed). A flow f is any assignment f(u, v) ≥ 0 on edges that obeys:

Capacity: 0 ≤ f(u, v) ≤ c(u, v) for every edge (u, v) Conservation: Σ f(w, v) = Σ f(v, w) for every v ∈ V \ {s, t} Flow value: |f| = Σ f(s, w) − Σ f(w, s) (net flow leaving s)

The maximum flow problem asks for the flow f that maximises |f|. Intuitively: if the edges were water pipes with the given capacities, how many litres per second can you ship from s to t?

How the Algorithm Works — Ford-Fulkerson with BFS

The algorithm maintains a residual graph alongside the current flow. For every edge (u, v) with capacity c and current flow f, the residual graph contains:

At each iteration it performs a breadth-first search from s to t over the residual graph. If a path is found, the smallest edge capacity on the path — the bottleneck — is added to flow on every forward edge and subtracted on every reverse edge along the path. This is called an augmenting path. When BFS can no longer reach t, the current flow is optimal.

while there exists an augmenting path P from s to t in the residual graph: b ← min c_residual(u, v) over edges (u, v) in P push b units of flow along P // updates residual + flow return total flow |f|

Using BFS (rather than arbitrary path-finding) turns Ford-Fulkerson into Edmonds-Karp, with a guaranteed running time of O(V · E²). It also guarantees termination on irrational capacities, which plain Ford-Fulkerson does not.

The Max-Flow Min-Cut Theorem

A cut is a partition of the vertices into two sets (S, T) with s ∈ S and t ∈ T. Its capacity is the sum of capacities of edges going from S to T:

cap(S, T) = Σ c(u, v) for u ∈ S, v ∈ T

The max-flow min-cut theorem (Ford & Fulkerson, 1956) states:

maximum flow value = minimum cut capacity

This tool finds the min-cut automatically. After Edmonds-Karp terminates, it runs one more BFS from s on the residual graph; the vertices reached form S, the rest form T, and every edge crossing S → T in the original graph is saturated. Their capacities sum to exactly the max-flow value — visible in the hero result as "Min-cut capacity ✓ confirms optimality".

Features Built for Learning

Input Formats

1. Edge list with capacities

One edge per line. The arrow form is most readable but several alternatives work:

S -> A : 10 S -> B : 13 A -> B : 10 B -> A : 4 B -> T : 14

Also accepted: A, B, 10 · A B 10 · A -> B , 10. Multiple edges between the same pair are summed.

2. Capacity matrix

One row per line, values separated by spaces or commas. Entry C[i][j] is the capacity of the edge from vertex i to vertex j. Use 0 for "no edge". The matrix must be square and the diagonal must be 0 (no self-loops).

S A B C D T S [ 0 10 0 10 0 0 ] A [ 0 0 4 2 8 0 ] B [ 0 0 0 0 0 10 ] C [ 0 0 0 0 9 0 ] D [ 0 0 6 0 0 10 ] T [ 0 0 0 0 0 0 ]

Enter matching vertex labels in the Matrix labels field (comma- or space-separated). If omitted, labels default to S, A, B, …, T.

Applications of Max Flow

DomainHow max flow is used
Transportation & logisticsHow much cargo can a rail/road/pipeline network move per day from origin to destination?
Bipartite matchingAssigning jobs to workers, students to projects. Unit-capacity max flow gives the maximum matching.
Image segmentationBoykov–Kolmogorov min-cut in computer vision separates foreground from background pixels.
Network reliabilityMin-cut identifies the weakest links whose failure disconnects the network.
Project schedulingClosure problems and selection problems reduce to min-cut.
Baseball eliminationDetermines whether a team is mathematically eliminated from a league title.

Worked Example

The "Textbook" quick-example encodes a 6-node network with source S and sink T. Running Edmonds-Karp yields four augmenting paths:

  1. S → A → B → T with bottleneck 4 (edge A-B is the limiter). Running total: 4.
  2. S → A → D → T with bottleneck 6. Running total: 10.
  3. S → C → D → T with bottleneck 4 (edge D-T is now the limiter, only 4 left). Running total: 14.
  4. S → C → D → B → T with bottleneck 5. Running total: 19.

The algorithm stops — no more augmenting paths exist. The min-cut is (S = {S, C}, T = {A, B, D, T}) with crossing edges S → A (capacity 10) and C → D (capacity 9), summing to 19 — exactly the max flow value.

How to Use This Calculator

  1. Choose input format using the tabs — edge list (recommended) or capacity matrix.
  2. Enter your network. You can start from a quick example and modify it. For matrix input, also supply labels if you want names other than S, A, B, …, T.
  3. Specify source and sink (or leave blank to auto-detect S and T).
  4. Click Compute Max Flow. The result page shows the max flow value, min-cut partition, a layered graph visualisation, every augmenting path, an edge utilisation table, and three matrices (capacity, flow, residual).
  5. Play the animation beneath the graph to replay the algorithm's decisions. Click any augmenting-path step to jump directly to it.

Limits

Frequently Asked Questions

What is the maximum flow problem?

Given a directed network where each edge has a non-negative capacity, the maximum flow problem asks: how much flow can be pushed from a designated source vertex s to a designated sink vertex t, subject to the rules that flow on each edge cannot exceed its capacity and flow entering every non-source, non-sink vertex must equal the flow leaving it? The answer is called the max flow value.

What is the Ford-Fulkerson method?

Ford-Fulkerson is a general technique for computing max flow. It repeatedly finds an augmenting path from source to sink in the residual graph and pushes as much flow as possible along that path (the bottleneck capacity), then updates the residual graph. The procedure terminates when no augmenting path exists. When implemented with breadth-first search for path selection, it is called Edmonds-Karp and runs in O(V · E²) time.

What is the min-cut of a flow network?

A cut is a partition of the vertices into two sets S and T such that the source is in S and the sink is in T. The capacity of the cut is the sum of capacities of edges from S to T. A min-cut is a cut of minimum capacity. The famous max-flow min-cut theorem proves that the maximum flow value always equals the minimum cut capacity, so finding one gives you the other for free.

What is the residual graph?

The residual graph tracks how much more flow can still be pushed on each edge. For every original edge (u, v) with capacity c and current flow f, the residual graph contains a forward edge (u, v) with capacity c minus f (remaining capacity) and a reverse edge (v, u) with capacity f (cancellable flow). An augmenting path uses edges of the residual graph, allowing the algorithm to undo earlier decisions.

Why does the tool use BFS for augmenting paths?

Choosing augmenting paths with breadth-first search (Edmonds-Karp) guarantees polynomial-time termination regardless of the edge capacities. Plain Ford-Fulkerson with an arbitrary path-finding strategy can loop for an exponential number of iterations on pathological inputs, and on irrational capacities it may not terminate at all. BFS also produces shortest augmenting paths, which are easier to read and reason about.

What does a saturated edge mean?

An edge is saturated when its flow equals its capacity, so no additional flow can be pushed on it. Saturated edges are bottlenecks of the network, and every min-cut consists entirely of saturated edges from the S-side to the T-side of the cut. The tool highlights saturated edges in red so you can see the bottleneck structure at a glance.

Further Reading

Reference this content, page, or tool as:

"Network Flow Calculator (Max Flow)" at https://MiniWebtool.com// from MiniWebtool, https://MiniWebtool.com/

by miniwebtool team. Updated: Apr 22, 2026

You can also try our AI Math Solver GPT to solve your math problems through natural language question and answer.

Top & Updated:

Random PickerRandom Name PickerBatting Average CalculatorRelative Standard Deviation CalculatorLine CounterFPS ConverterSort NumbersERA CalculatorMAC Address GeneratorRemove SpacesInstagram User ID LookupWord to Phone Number ConverterMAC Address LookupFeet and Inches to Cm ConverterFacebook User ID LookupRandom Truth or Dare GeneratorSum CalculatorPercent Off CalculatorBitwise CalculatorSHA256 Hash GeneratorOPS CalculatorRandom Quote GeneratorMP3 LooperNumber of Digits CalculatorSalary Conversion CalculatorSlope and Grade CalculatorLog Base 10 CalculatorSlugging Percentage CalculatorRandom IMEI GeneratorSun, Moon & Rising Sign Calculator 🌞🌙✨Octal CalculatorSquare Root (√) CalculatorAudio SplitterOn Base Percentage CalculatorRoman Numerals ConverterSaturn Return CalculatorPhone Number ExtractorVertical Jump CalculatorCm to Feet and Inches ConverterWAR CalculatorCompound Growth CalculatorVideo to Image ExtractorMerge VideosDecimal to BCD ConverterRandom Activity GeneratorCaffeine Overdose CalculatorFirst n Digits of PiBCD to Decimal ConverterRandom Poker Hand GeneratorCompare Two StringsRandom Writing Prompt GeneratorWHIP CalculatorBinary to Gray Code ConverterText FormatterFile Size ConverterRandom Movie PickerLove Compatibility CalculatorCM to Inches ConverterTime Duration CalculatorRandom Fake Address GeneratorQuotient and Remainder CalculatorAI ParaphraserOutlier CalculatorRemove AccentPER CalculatorSRT Time ShiftVideo CropperImage SplitterRandom Number PickerWhat is my Lucky Number?YouTube Channel StatisticsBinary to BCD ConverterAdd Prefix and Suffix to TextDay of Year CalendarNumber to Word ConverterConnect the Dots GeneratorInvisible Text GeneratorWord Ladder GeneratorRemove Leading Trailing SpacesRandom Superpower GeneratorGray Code to Binary ConverterImage CompressorSocial Media Username CheckerAI Punctuation AdderUpgrade to Pro or PremiumReverse VideoIP Address to Hex ConverterName Number CalculatorRandom Loadout GeneratorRandom Object GeneratorPercent Growth Rate CalculatorProportion CalculatorArc Length CalculatorRandom Birthday GeneratorStair CalculatorSHA512 Hash GeneratorExponential Decay CalculatorLeap Years ListList of Prime NumbersEmail ExtractorURL ExtractorDay of the Year Calculator - What Day of the Year Is It Today?Video CompressorSort Lines AlphabeticallyHex to BCD ConverterBCD to Binary ConverterLottery Number GeneratorBCD to Hex ConverterMedian CalculatorStandard Error CalculatorList RandomizerBreak Line by CharactersAverage CalculatorModulo CalculatorPVIFA CalculatorHypotenuse CalculatorRemove Audio from VideoActual Cash Value CalculatorScientific Notation to Decimal ConverterNumber ExtractorAngel Number CalculatorLog Base 2 CalculatorRoot Mean Square CalculatorSum of Positive Integers CalculatorSHA3-256 Hash GeneratorAI Sentence Expander📅 Date CalculatorLbs to Kg ConverterHex to Decimal ConverterRandom Group GeneratorConvolution CalculatorMAC Address AnalyzerRandom String GeneratorAmortization CalculatorMarkup CalculatorPVIF CalculatorDecimal to Hex ConverterInstagram Font GeneratorSocial Media Image Size GuideTikTok Money CalculatorTwitter/X Character CounterTwitter/X Timestamp ConverterYouTube Watch Time CalculatorTwitch Earnings CalculatorYouTube Shorts Monetization CalculatorFacebook Ad Cost CalculatorSocial Media ROI CalculatorSocial Media Post Time OptimizerCTR CalculatorROAS CalculatorInfluencer ROI CalculatorForce CalculatorAcceleration CalculatorVelocity CalculatorMomentum CalculatorProjectile Motion CalculatorKinetic Energy CalculatorPotential Energy CalculatorWork and Power CalculatorDensity CalculatorPressure CalculatorIdeal Gas Law CalculatorFree Fall CalculatorTorque CalculatorHorsepower CalculatorDilution CalculatorChemical Equation BalancerStoichiometry CalculatorPercent Yield CalculatorEmpirical Formula CalculatorBoiling Point CalculatorTitration CalculatorMole/Gram/Particle ConverterLED Resistor CalculatorVoltage Divider CalculatorParallel Resistor CalculatorCapacitor Calculator555 Timer CalculatorWire Gauge CalculatorTransformer CalculatorRC Time Constant CalculatorPower Factor CalculatorDecibel (dB) CalculatorImpedance CalculatorResonant Frequency CalculatorGrade CalculatorFinal Grade CalculatorWeighted Grade CalculatorTest Score CalculatorSignificant Figures CalculatorStudy Timer (Pomodoro)Long Division CalculatorRounding CalculatorCompleting the Square CalculatorRatio Calculatorp-Value CalculatorNormal Distribution CalculatorPercentile CalculatorFive Number Summary CalculatorCross Multiplication CalculatorLumber CalculatorRebar CalculatorPaver CalculatorInsulation CalculatorHVAC Sizing CalculatorRetaining Wall CalculatorCarpet CalculatorSquare Footage Calculator⏱️ Countdown Timer⏱️ Online Stopwatch⏱️ Hours Calculator🕐 Military Time Converter📅 Date Difference Calculator⏰ Time Card Calculator⏰ Online Alarm Clock🌐 Time Zone Converter🌬️ Wind Chill Calculator🌡️ Heat Index Calculator💧 Dew Point CalculatorFuel Cost CalculatorTire Size Calculator👙 Bra Size Calculator🌍 Carbon Footprint Calculator⬛ Aspect Ratio CalculatorOnline Notepad🖱️ Click Counter🔊 Tone Generator📊 Bar Graph Maker🥧 Pie Chart Maker📈 Line Graph Maker📷 OCR / Image to Text🔍 Plagiarism Checker🚚 Moving Cost Estimator❄️ Snow Day Calculator🎮 Game Sensitivity Converter⚔️ DPS Calculator🎰 Gacha Pity Calculator🎲 Loot Drop Probability Calculator🎮 In-Game Currency ConverterMultiplication Table GeneratorLong Multiplication CalculatorLong Addition and Subtraction CalculatorOrder of Operations Calculator (PEMDAS)Place Value Chart GeneratorNumber Pattern FinderEven or Odd Number CheckerAbsolute Value CalculatorCeiling and Floor Function CalculatorUnit Rate CalculatorSkip Counting GeneratorNumber to Fraction ConverterEstimation CalculatorCubic Equation SolverQuartic Equation SolverLogarithmic Equation SolverExponential Equation SolverTrigonometric Equation SolverLiteral Equation SolverRational Equation SolverSystem of Nonlinear Equations SolverPoint-Slope Form CalculatorStandard Form to Slope-Intercept ConverterEquation of a Line CalculatorParallel and Perpendicular Line CalculatorDescartes' Rule of Signs CalculatorRational Root Theorem CalculatorSigma Notation Calculator (Summation)Product Notation Calculator (Pi Notation)Pascal's Triangle GeneratorBinomial Theorem Expansion CalculatorParabola CalculatorHyperbola CalculatorConic Section IdentifierRegular Polygon CalculatorIrregular Polygon Area CalculatorFrustum CalculatorTorus Calculator3D Distance CalculatorGreat Circle Distance CalculatorCircumscribed Circle (Circumcircle) CalculatorInscribed Circle (Incircle) CalculatorAngle Bisector CalculatorTangent Line to Circle CalculatorHeron's Formula CalculatorCoordinate Geometry Distance CalculatorVolume of Revolution CalculatorSurface of Revolution CalculatorParametric Curve GrapherRiemann Sum CalculatorTrapezoidal Rule CalculatorSimpson's Rule CalculatorImproper Integral CalculatorL'Hôpital's Rule CalculatorMaclaurin Series CalculatorPower Series CalculatorSeries Convergence Test CalculatorInfinite Series Sum CalculatorAverage Rate of Change CalculatorInstantaneous Rate of Change CalculatorRelated Rates SolverOptimization Calculator (Calculus)Gradient Calculator (Multivariable)Divergence CalculatorCurl CalculatorLine Integral CalculatorSurface Integral CalculatorJacobian Matrix CalculatorNewton's Method CalculatorRREF Calculator (Row Echelon Form)Matrix Inverse CalculatorMatrix Multiplication CalculatorDot Product CalculatorCross Product CalculatorVector Magnitude CalculatorUnit Vector CalculatorAngle Between Vectors CalculatorNull Space CalculatorColumn Space CalculatorCramer's Rule CalculatorMatrix Diagonalization CalculatorQR Decomposition CalculatorCholesky Decomposition CalculatorMatrix Power CalculatorCharacteristic Polynomial CalculatorBayes' Theorem CalculatorF-Test / F-Distribution CalculatorHypergeometric Distribution CalculatorNegative Binomial Distribution CalculatorGeometric Distribution CalculatorExponential Distribution CalculatorWeibull Distribution CalculatorBeta Distribution CalculatorSpearman Rank Correlation CalculatorFisher's Exact Test CalculatorContingency Table CalculatorOdds Ratio CalculatorRelative Risk CalculatorEffect Size CalculatorPermutations with Repetition CalculatorModular Exponentiation CalculatorPrimitive Root CalculatorPerfect Number CheckerAmicable Number CheckerTwin Prime FinderMersenne Prime CheckerGoldbach Conjecture VerifierMöbius Function CalculatorEgyptian Fraction CalculatorFibonacci Number CheckerDigital Root CalculatorPartition Function CalculatorBoolean Algebra SimplifierKarnaugh Map (K-Map) SolverLogic Gate SimulatorGraph Coloring CalculatorTopological Sort CalculatorAdjacency Matrix CalculatorRecurrence Relation SolverInclusion-Exclusion CalculatorLinear Programming SolverTraveling Salesman Solver (TSP)Hamiltonian Path CheckerPlanar Graph CheckerNetwork Flow Calculator (Max Flow)Stable Marriage Problem SolverFirst-Order ODE SolverSecond-Order ODE SolverDirection Field / Slope Field PlotterEuler's Method Calculator