We suggest a new algorithm for finding a canonical representative of a given braid, and also for the harder problem of finding a $\sigma_1$-consistent representative. We conjecture that the algorithm is quadratic-time. We present numerical evidence for this conjecture, and prove two results: (1) The algorithm terminates in finite time. (2) The conjecture holds in the special case of 3-string braids - in fact, we prove that the algorithm finds a minimal-lenght representative for any 3-string braid.