PageRank on a Graph
Explore how links change a page’s rank. Edit a graph, compare shares and trace each iteration.
About this tool
Which pages receive more attention when links act as recommendations? Edit directed links, run PageRank, and compare each node’s share. This model describes a random surfer, not current search-engine ranking.
Try it
Enter A -> B. With damping 0.85, B reaches 64.912% and A 35.088%. Add B -> A and both receive 50%. A ring gives equal ranks.
Controls
Each line is a directed link A -> B or a lone node C. IDs contain 1–24 ASCII letters, digits, underscores or hyphens. Duplicate links count once; self-links are allowed. Maximum: 50 nodes and 200 links. Run solves from equal starting shares; Step advances once; Reset restores equal shares without changing the graph. Editing inputs clears stale results. Select a node or its table button to inspect the previous iteration’s contributions.
Model
Start with p(i)=1/n. Update every node simultaneously: p_next(i)=(1-d)/n+d*(sum of p(j)/outdegree(j) over j→i + dangling_mass/n). Pages without outgoing links distribute their share equally. Damping d is the probability of following a link; 1-d is a random jump.
Run stops when the sum of absolute rank changes is at most 1e-10, or after 1000 iterations. The latter is explicitly reported if convergence has not been reached. Percentages show three decimal places, so rounded shares can differ slightly from 100%. All computation stays in your browser.
Small inputs are kept in the existing preference cookie. Larger graphs exceed that storage budget: they remain intact while switching tools in this page, but are not saved across reloads. A short notice appears for these graphs; copy the links before reloading. No graph is silently truncated.