Pada perkembangan transportasi kereta api, pemerintah Hindia Belanda tidak hanya menerapkan teknologi kereta api, tetapi juga tram sebagai alat angkut penumpang di perkotaan. Pemerintah Hindia Belanda telah merancang jalan rel untuk transportasi umum di sejumlah kota-kota besar seperti Jakarta, Semarang dan Surabaya. Pemerintah Hindia Belanda memberikan konsesi kepada perusahaan kereta api swasta Semarang-Joeana Stoomtram Maatschappij (SJS) pada tahun 1881 dan perusahaan kereta api swasta Oost-Java Stoomtram Maatschappij (OJS) pada tahun 1886. SJS mendapat konsesi untuk membangun jalan rel di kota Semarang dan sekitarnya sedangkan OJS mendapat konsesi untuk membangun jalan rel di kota Surabaya dan sekitarnya.

SJS membangun jalan rel di kota Semarang pada tahun 1882 – 1883 dengan panjang 12 km yaitu pada rute Pendrikan – Jurnatan, rute Jurnatan – Jomblang, rute Jurnatan – Bulu, rute Jurnatan – Samarang NIS dan rute Jurnatan – pelabuhan Semarang. Sedangkan OJS membangun jalan rel di kota Surabaya pada tahun 1889 – 1920 dengan panjang 47 km yaitu pada rute Ujung – Benteng – Surabaya Kota – Simpang – Wonokromo – Surabaya Pasar Turi – Pelabuhan Tanjung Perak dan rute Wonokromo – Sepanjang – Krian.

Untuk melayani jalan rel tersebut, SJS dan OJS mendatangkan 45 lokomotif uap B12. 29 lokomotif B12 didatangkan dari pabrik Beyer Peacock (Inggris) pada tahun 1891 – 1910, 13 lokomotif B12 didatangkan dari pabrik Werkspoor (Belanda) pada tahun 1902 – 1903 dan 3 lokomotif B13 dirakit dari komponen cadangan lokomotif B13 milik OJS di Balai Yasa Grudo (Surabaya, Jawa Timur, Indonesia) pada tahun 1922 – 1923. 22 lokomotif B12 dioperasionalkan di jalan rel milik SJS dan 23 lokomotif B12 dioperasionalkan di jalan rel milik OJS.

Pada saat itu, kehadiran tram dengan cepat mendapat sambutan baik dari masyarakat yang sebagian besar masih memanfaatkan transportasi tradisional, seperti kuda atau pedati. Di samping harga tarifnya yang cukup terjangkau, tram dianggap lebih cepat dibanding alat transportasi darat apapun saat itu. Masyarakat banyak yang memanfaatkan tram sebagai sarana transportasi dalam kota. Bahan bakar berupa kayu bakar yang digunakan untuk tram uap banyak terdapat di pulau Jawa.

Tram uap dengan susunan roda 0-4-0Tr merupakan lokomotif uap yang memiliki silinder berdimensi 340 mm X 370 mm pada sisi luar dengan roda penggerak berdiameter 850 mm. Berat keseluruhan 21 ton. Lokomotif ini dapat melaju hingga kecepatan maksimum 25 km/jam.

Karena tidak mampu bersaing dengan moda  transportasi darat yang lain, maka operasional tram di kota Semarang ditutup pada tahun 1975 dan di kota Surabaya ditutup pada tahun 1978. Dari 45 lokomotif B12, saat ini masih tersisa 1 lokomotif B12, yaitu B12 39 (milik SJS, buatan pabrik Wekspoor, mulai operasional tahun 1903). B12 39 dipajang di depan stasiun Surabaya Pasar Turi (Kota Surabaya).