JB itself is not a beach city, but it is the gateway to some of the best coastline in southern Malaysia. Most beaches require an hour or more of travel from the city centre, but the distances are manageable as day trips, and some destinations warrant an overnight stay.
Danga Bay, within the city limits, has a long waterfront that has been heavily developed with a commercial strip, food stalls, and amusement facilities. It is a pleasant enough evening walk but not the reason to come to JB.
Desaru, on the east coast of Johor about 90 minutes from JB, is a long stretch of relatively unspoiled beach backed by palm trees. It was popular with regional tourists in the 1980s, went quiet for years, and has been developing again since the opening of a resort complex. The surf is reasonable, the sand is good, and it is far less crowded than the beaches around Penang or Langkawi. The Desaru Coast resort development has added water parks and golf to the draw, though the beach itself remains the main attraction.
Stulang Laut, closer to the city, is a low-key waterfront area good for an evening out rather than serious beach time. The area around Jalan Stulang Laut has restaurants and casual bars with views across the water.
For islands and snorkelling, the Pulau Sibu archipelago off the east Johor coast is the best option within reach of JB. The crossing from Tanjung Leman takes about 45 minutes. The surrounding waters have coral reefs and some shipwrecks, and the pace on the islands is quiet.