From Tallinn harbour it's a relatively long way to the main bus station (Tallinna bussijaam; Lastekodu 46). From terminal A (e.g. Viking Line, Eckerö Line) it's a 3.1 km (~40 min) and from terminal D (Tallink) 2.3 km (~30 min) walk, according to Google Maps.
Is there a quick & convenient way to make the trip using some form of public transport? Or would a taxi be significantly handier (yet not much more expensive)?
I couldn't find a good online journey planner for Tallinn public transport.
(Bonus question: If taxi is your recommendation, and you know Tallinn intimately, could you mention some taxi companies to prefer / avoid? To my knowledge price and reliability can vary a lot, and it's worthwhile to be picky at a taxi stand.)