The ferry runs every hour. From/to St. Thomas to St. John it takes around 20 to 30 minutes. Make sure that you have cash, no cards. They charge $4 for every bag... Even if it's a small bag that fits on your lap!
I only took the ferry twice. Both times it was on the schedule.
If you own or manage Virgin Islands Ferry - Red Hook, register now for free tools to enhance your listing, attract new reviews, and respond to reviewers.