The iconic National Monument (Monas) standing tall against the Jakarta skyline on a clear day.
Comparison

Surabaya vs Jakarta: Which Indonesian City Should You Visit?

Two Javanese powerhouses, two very different trips: the gritty, history-rich port city versus the sprawling megacapital.

Last updated July 9, 20266 min read
Quick verdict

Choose Jakarta for variety, nightlife, museums, and better flight connections; choose Surabaya as a cheaper, calmer, more manageable base for exploring East Java's volcanoes.

Indonesia's two biggest cities on Java rarely appear on the same shortlist, and that tells you something. Jakarta is the frenetic capital, a 10-million-plus metropolis of skyscrapers, malls, colonial ghosts, and traffic that has entered folklore. Surabaya, the country's second city and the capital of East Java, is a hotter, flatter, less glamorous industrial port with a proud history and far fewer tourists.

Neither is a classic holiday destination in the beach-and-temple sense: most travelers pass through both on the way to somewhere else (Bromo and Ijen from Surabaya, or connecting flights and Java itineraries from Jakarta). The real question is which one deserves your actual days, and what kind of Indonesia you want to see.

This comparison is honest about the fact that both cities are challenging, humid, and congested. But each rewards a certain kind of traveler, and knowing which one you are will save you a wasted day sitting in a taxi.

The port city
Surabaya
History · heat · East Java gateway
The megacapital
Jakarta
Malls · scale · endless variety
Head to head

Surabaya vs Jakarta

Vibe & first impressions
Surabaya feels workmanlike and unpretentious: a sweltering port city built around commerce, with a genuine sense of local pride (this is the 'City of Heroes' where Indonesians fought the 1945 independence battle). Tourists are rare, English is patchier, and you feel more like a visitor to a working Indonesian city than a guest in a tourist economy.
Jakarta is overwhelming on arrival: gleaming towers next to informal kampungs, world-class malls beside crumbling colonial buildings, and traffic that shapes every plan. It is cosmopolitan, cash-rich in places and poor in others, and endlessly layered once you accept its scale.
Things to do
The old town around Jembatan Merah, the Arab Quarter and Ampel Mosque, the House of Sampoerna cigarette museum, and the Submarine Monument make for a solid day or two. The main draw, though, is as the launchpad for Mount Bromo and Ijen crater.
There is far more: the National Museum, Kota Tua (old Batavia) with Fatahillah Square, the towering Monas monument, Istiqlal Mosque facing the Catholic cathedral, Taman Mini cultural park, and the Thousand Islands for an escape. A week here still leaves gaps.
Food
East Java's specialties shine: rawon (black beef soup), rujak cingur, lontong balap, and outstanding sate. Street food is cheap, authentic, and less tourist-oriented, though fine dining is limited compared to the capital.
Jakarta is Indonesia's food capital, pulling dishes from every province plus serious international dining, rooftop bars, and hawker legends. From Padang restaurants to Glodok's Chinese-Indonesian classics to high-end tasting menus, the range is unmatched.
Nightlife
Modest and low-key: a handful of hotel bars, cafes, and clubs, mostly concentrated in the west and around the malls. It is not a going-out destination.
Jakarta has the country's biggest nightlife scene by far, from SCBD rooftop lounges and craft-cocktail bars to major clubs in Kemang and beyond. If you want a night out, this is the clear winner.
Cost
Cheaper across the board: hotels, taxis, and meals all run lower than the capital, and you get more space and comfort for your money. Good mid-range hotels are inexpensive.
More expensive, especially for hotels in central districts and drinks at rooftop venues, though street food and Gojek/Grab rides keep everyday costs reasonable. Overall your rupiah stretches further in Surabaya.
Getting there & around
Juanda International Airport has good domestic coverage and some regional international flights, but fewer long-haul options than Jakarta. There is no metro; you rely on Grab/Gojek and taxis, though traffic is lighter than the capital's.
Soekarno-Hatta is Indonesia's main international gateway with the widest global connections. The city now has an MRT line, commuter rail, and the TransJakarta bus network, which genuinely help, but traffic remains brutal and distances are huge.
Day trips
This is Surabaya's trump card: it is the standard base for sunrise at Mount Bromo and the blue-fire and turquoise crater of Ijen, plus Malang and the cooler hill country of East Java.
Options are weaker for nature: the Thousand Islands for beaches, Bogor's botanical gardens, and Bandung a few hours away. Nothing rivals the volcanic drama within reach of Surabaya.
When to go
Dry season (roughly May to September) is best, and essential if you want clear volcano views. It is consistently hot and humid year-round, often around 30-33C by day.
Also best in the dry season (May to September); the wet season (November to March) brings heavy downpours and occasional flooding that snarls the city. Expect hot, humid conditions throughout.

Surabaya is best for

travelers using East Java as a base for Bromo and Ijen who want a cheaper, calmer, more local city with real history.

Jakarta is best for

first-timers and city lovers who want museums, food, nightlife, shopping, and Indonesia's best flight connections in one giant capital.

The verdict
Flying into Java? Jakarta for the city, Surabaya for the volcanoes.

Jakarta is the more rewarding standalone city break, with the museums, dining, and nightlife to fill several days, plus the connections to go anywhere. Surabaya earns its place as a practical, affordable gateway to East Java's headline volcanoes rather than as a destination in itself. If your trip is about nature and you are heading to Bromo or Ijen, base in Surabaya; if you want an urban Indonesian experience, choose Jakarta.

Match the city to your trip: pick Jakarta for urban energy and connections, Surabaya for volcano adventures on a budget, and consider stitching both into one Java itinerary.

Frequently asked questions

Is Surabaya or Jakarta cheaper?
Surabaya is noticeably cheaper for hotels, taxis, and meals, so your budget goes further there. Jakarta costs more, especially for central accommodation and rooftop bars, though street food and ride-hailing keep daily spending manageable.
Which city is better for a first-time visitor to Indonesia?
Jakarta suits most first-timers better thanks to its variety of sights, food, nightlife, and the widest international flight connections. Surabaya makes more sense if your main goal is reaching East Java's volcanoes like Bromo and Ijen.
Can you visit both Surabaya and Jakarta on one trip?
Yes, they are easily connected by frequent one-hour-plus domestic flights or by train, so combining them is straightforward. A common route is a few days in Jakarta followed by Surabaya as a base for a Bromo or Ijen excursion.
Which has better food, Surabaya or Jakarta?
Jakarta wins for sheer range, offering dishes from across Indonesia plus strong international and fine dining. Surabaya offers excellent, authentic East Javanese specialties like rawon and rujak cingur at cheaper prices, with far fewer tourist-oriented spots.
Is Surabaya worth visiting on its own?
Surabaya works best as a one-to-two-day stop combined with East Java's volcanoes rather than a full holiday on its own. Its old town, Arab Quarter, and museums are interesting but limited compared to the capital.
Plan with MagicTrips

Build your own trip

Tell us how many days, your budget, and what you're into, and we'll build you a custom, day-by-day itinerary.

Ready to book your stay?

Hotels
Homes

Traveling somewhere else?

Generate a custom itinerary