Abstract : In this paper, we propose and analyze a simple localized algorithm to balance a tree. The motivation comes from live distributed streaming systems in which a source di uses a content to peers via a tree, a node forwarding the data to its children. Such systems are subject to a high churn, peers frequently joining and leaving the system. It is thus crucial to be able to repair the di usion tree to allow an e cient data distribution. In particular, due to bandwidth limitations, an e cient di usion tree must ensure that node degrees are bounded. Moreover, to minimize the delay of the streaming, the depth of the di usion tree must also be controlled. We propose here a simple distributed repair algorithm in which each node carries out local operations based on its degree and on the subtree sizes of its children. In a synchronous setting, we rst prove that starting from any n-node tree our process converges to a balanced tree in O(n^2) turns. We then describe a more restrictive model, adding a small extra information to each node, for which the convergence is reached in O(n log n) turns and this bound is tight. We then exhibit by simulation that the convergence is much faster (logarithmic number of turns in average) for a random tree.