St. John has no airport. All access is by ferry from St. Thomas. The most frequent service runs from Red Hook, on the east end of St. Thomas, with crossings taking around 20 minutes and departing throughout the day. Less frequent ferries also run from Charlotte Amalie, the St. Thomas capital (about 45 minutes). The ferry terminus at Cruz Bay is in the heart of town.
The nearest international airport is Cyril E. King Airport (STT) on St. Thomas, which has direct flights from several US mainland cities including Miami, New York, and Atlanta. From the airport, a taxi to Red Hook takes about 30 minutes.
Inter-island ferries also connect Cruz Bay with Road Town, Tortola, in the British Virgin Islands — a useful option for island-hopping, though US and British immigration formalities apply at each crossing.