We describe a deterministic, polynomial time algorithm for finding edge-disjoint paths connecting given pairs of vertices in an expander. Specifically, the input of the algorithm is a sufficiently strong d-regular expander G on n vertices, and a sequence of pairs si, ti, (1 ≤ i ≤ r) of vertices, where r = Θ(nd log d/log n), and no vertex appears more than d/3 times in the list of all endpoints s1, t 1,...,sr,tr. The algorithm outputs edge-disjoint paths Q1,...,Qr, where Qi connects si and ti. The paths are constructed online, that is, the algorithm produces Qi as soon as it gets si, ti and before the next requests in the sequence are revealed. This improves in several respects a long list of previous algorithms for the above problem, whose study is motivated by the investigation of communication networks. An analogous result is established for vertex disjoint paths in blow-ups of strong expanders.