1. Bawean Island
Bawean Islands is located on the north of Java, 150 km from Gresik Port. The best spot for snorkeling is Noko Island which has magnificent coral reef and underwater life. To snorkel in Bawean you should bring your own goggle and flipper.
2. Papuma and Nusa Barong
Located in Jember on the southern sea of Java. There are spots nearby Papuma bay, and also in Nusa Barong. For this you can rent boat from local fishermen. Snorkeling on the southern sea considered as tough as the waves are known huge.
Srau is located in Pacitan East Java, Indonesia. This beach can be reached from Yogyakarta or Surabaya. Nearby the beach you can find snorkeling spot.
4. Baluran National Park
This national park is located on the eastern tip of East Java, that it is accessible from Bali. Nearby Bama beach is an interesting place to snorkel. You might need to rent boat and the National Park provide boat rent and snorkeling
5. Kangean Islands
This island is located on the east of Madura Island.Ferryto this island is on schedule and not daily via Kalianget Port in Sumenep, Madura or Perak harbor in Surabaya This island has one of the best coral reef in Indonesia.