The three longest rivers mentioned in Tolkien's legendarium are Anduin, Sirion, and Gelion. One of the problems with finding a good estimate is that The Silmarillion's maps have no scale, so it's nigh impossible to calculate distance. However, it is possible to get a rough estimate on the order. Tolkien writes in The Silmarillion that Gelion is "...twice as long as Sirion," (p. 123).
Tolkien also writes, "From the meeting of [Gelion's] arms he flowed south for forty leagues before he found his tributaries," (p. 123). Using this quote together with the map of Beleriand, we can get a solid estimate at the length of Sirion and Gelion and compare these to the estimates of Anduin by Karen Fonstad. On the map, the distance between those two points is 1 3/4 inches. (I'm American, I use inches. Sorry!) So by that scale, 1 3/4 inches on the map equals 40 leagues in universe. A league is approximately 3 miles, so 1 3/4 inches = 120 miles, and 1 inch equals about 68.57 miles. To estimate the length of Sirion, we have to measure its length as the crow flies from Eithel Sirion to the Mouths of Sirion; we find that this equals 5 1/2 inches. 68.57 * 5.5 = 377.35 miles for the length of Sirion. Gelion is twice that, so 377.35 * 2 = 754.27 miles long. Both of these are dwarfed by the estimated length of Anduin, at 1,388 miles long. So, the final answer is:
- Anduin - 1,388 miles
- Gelion - 754.27 miles
- Sirion - 377.35 miles
Note: This system can be used to measure any river on this map.