If you've ever lost 20 minutes at 2 AM debugging a submask enumeration loop, or drawn a segment tree on paper for the fifth time this month, this post is for you.
I want to share a collection of 31 free, browser-based tools built specifically for competitive programming — no signup, no installs, code stays client-side. They're grouped at Utility Tools Lab's Competitive Programming category, and they cover almost every "I wish there was a tool for this" moment from contest practice.
Here's a tour of what's inside.
Visualizing structures you normally only imagine
Half the pain in CP isn't the algorithm — it's seeing what your data structure is actually doing.
Graph Visualizer — paste a CP-style edge list and get a force-directed graph you can drag around. Toggle directed/undirected and 0/1-indexing, then copy the adjacency list back out.
Segment Tree Builder — feed in an array, pick sum/min/max/gcd, and watch the tree render, plus grab a full C++ class template.
Sparse Table Builder — visualizes every level of the O(1) RMQ precomputation, with live queries.
Union-Find (DSU) Visualizer — watch path compression and union-by-rank happen live on a forest view.
Path Finder — paint walls on a grid and run BFS to see the shortest path animate, then copy the grid as a C++ 2D vector.
Sieve Visualizer — step through the Sieve of Eratosthenes on a color-coded grid.
Sorting Visualizer and Binary Search Visualizer — step-by-step animations with live comparison counts, or lo/hi/mid tracking on your own array.
These aren't just "nice to look at" — watching the not-found path in binary search, or the moment a submask loop wraps around, is often exactly where off-by-one bugs hide.
Code generators that skip the boilerplate
Some things in CP are conceptually simple but easy to typo under time pressure. These tools generate ready-to-paste C++:
Bitmask Planner — set N ≤ 12, visualize all 2^N states and submask iteration order, get a DP skeleton.
PBDS Generator — Order Statistics Tree boilerplate with configurable key type and comparator.
Matrix Rotation and Matrix Generator — for grid-based problems and test input generation.
Convex Hull — click points on a canvas, get the hull via Andrew's monotone chain, export as a C++ vector.
Math you don't want to hand-compute
Modulo Calculator — modular inverse, fast power mod, nCr mod p with BigInt precision.
Extended GCD — GCD, LCM, Bezout coefficients, full Euclidean trace, BigInt-exact to 10¹⁸.
Combinatorics — nCr, nPr, factorials, Catalan and Stirling numbers with step-by-step working.
Prime Factorizer and MEX Calculator — quick sanity checks mid-contest.
Testing and performance
Stress Tester — paste your brute force, your optimal solution, and a generator; get a downloadable script that hunts for counter-examples.
Offline Judge / Test Runner — run JS solutions against custom test cases in a sandboxed worker and get AC/WA/TLE/RE verdicts.
Big-O Analyzer — benchmarks your algorithm across doubling input sizes and predicts whether it'll TLE.
Complexity Calculator — a reference table plus estimated runtime for any N, from O(1) to O(N!).
The rest of the toolbox
Rounding things out: a Code Formatter for C++/Java/Python, a Bit Visualizer for flipping bits and seeing popcount/clz/ctz live, an Interval Merger for timeline-style overlap problems, and an animated DP Table Builder covering Fibonacci, LCS, 0-1 Knapsack, Coin Change, and Edit Distance with heatmap coloring.
There are also a few adjacent tools tagged into the category that are worth knowing about: a Text Diff Checker (handy for comparing expected vs actual output), a Palindrome Checker, and a standalone Prime Checker.
Why this matters
None of these replace actually understanding the algorithms — but they remove the friction of visualizing what you already know, generating boilerplate you'd otherwise mistype, and verifying your solution before you burn a submission on a TLE or WA. Everything runs client-side in the browser, so there's no setup cost between opening a problem and start debugging.
Full list: utilitytoolslab.com/category/competitiveprogramming
If you try one, the Graph Visualizer and Stress Tester are probably the highest-leverage starting points — one saves you from hand-drawing structures, the other saves you from hunting counter-examples by hand.
Happy grinding. 🏆

Top comments (0)