Quick Book

Salient Features

Online Bus ticket booking

Return Bus Tickets

Online Payment

Customer Support

Latest News

All Routes

  • Alor setar - Baling
    D: 16:00 - Seater, AC
  • Alor setar - Batu Pahat
    D: 16:00 - Seater, AC
  • Batu Pahat - Baling
    D: 16:05 - Seater, AC
  • Kuala Lumpur - Ipoh
    D: 20:00 - Seater, AC
  • Kuala Lumpur - Tawau
    D: 20:00 - Seater, AC
  • Tawau - Hatyai
    D: 21:00 - Seater, AC
  • Hatyai - Ipoh
    D: 23:00 - Seater, AC
  • Ipoh - Kuala Lumpur
    D: 20:00 - Seater, AC
  • Ipoh - Hatyai
    D: 20:00 - Seater, AC
  • Hatyai - Tawau
    D: 21:00 - Seater, AC
  • Tawau - Johor bahru
    D: 21:30 - Seater, AC
  • Johor bahru - Seremban
    D: 22:00 - Seater, AC
  • Seremban - Kuala Lumpur
    D: 01:15 - Seater, AC
  • Kuala Lumpur - Genting highlands
    D: 20:00 - Seater, AC
  • Kuala Lumpur - Genting highlands
    D: 13:00 - Seater, AC
  • Kuala Lumpur - Genting highlands
    D: 20:00 - Economy, AC
  • Kuala Lumpur - Genting highlands
    D: 22:00 - Seater, AC
  • Kuala Lumpur - Genting highlands
    D: 21:00 - Seater, AC
  • Kuala Lumpur - Genting highlands
    D: 13:00 - Seater, AC
  • Kuala perlis - Genting highlands
    D: 13:05 - Seater, AC
  • Kuala Lumpur - Genting highlands
    D: 20:00 - Economy, NON_AC

About Us

About the founder

Chris was born in Kuala Lumpur and raised in Banting, Selangor, spending his childhood at Boh’s Bukit Cheeding Estate in Banting. His life changed rapidly when he was selected for a sponsorship for his secondary and tertiary education in England. He went on to pursue economics at the University of Warwick in England, finishing with an Honours Degree.

When returning back at home base, he joined Boh Plantations – Malaysian prominent tea manufacturer (if you’re in Malaysia, we highly recommend you visit Cameron Highlands where most large Boh Plantations are located – it’s beautiful!). In Boh Plantations Chris went through many positions, from working in the plantation sector, managing Boh’s Singapore Market, until he finally settled as the Head of Marketing.

After 15 years at Boh, he resigned in 2001. This stemmed from a long desire to carve out his own path as an entrepreneur and business leader. While deciding on his next career move, he supplemented his savings by carrying out financial consultancy work. Soon, he came up with an idea to set up shop as a new media owner, opening up a largely untapped market of taxi and bus advertising. While it proved to be lucrative, he decided that he wanted to be a brand owner himself. Hence in 2006, SkyBus was born.

With its new low-cost based business model, Skybus has rapidly changed the transportation industry in Malaysia and very soon won several awards for its outstanding services.

What we stand for :

1.Safety

SkyBus transports thousands of passengers on a daily basis. Safety, therefore, is our main concern. We comply with all SPAD regulations and road safety guidelines, and have installed the latest technology in our buses to ensure your safety, such as speed limit buzzers and GPS tracking.

2.Comfort

Your bus ride to the airport should be comfortable, which is why you will find professional and reliable staff on every SkyBus and you will have extra leg room.

3.Lowest prices

There is no cheaper way to get to klia2 then using SkyBus. By keeping our costs low and our operations effective you save money on your bus ride.

4.Customer Service

We are always making sure our customers are happy, and we respond to support requests within 12 hours. If you have any questions or suggestions you can always email us or call our Customer Support Hotline during office hours.

5.Reliable & Timely

You need to be at the airport in time. We get it! The last thing you need is having to worry about a bus that is late, or stuck in traffic for that matter (we all know KL’s notorious traffic). Which is why SkyBuses follow a strict schedule and we avoid highways whenever there’s a jam to ensure your timely arrival.

Amenities

Track Your Shipment

  • Safety first.
    Yes we heard you.

    We have

      •    
      • Covid safe crew
      •    
      • 24h support
      •    
      • live location

Siamese

"Great value and fantastic facilties - water,blanket charging point. The operator called to make sure i boarded which was much appreciated!Great value and fantastic facilties - water,blanket charging point. The operator called to make sure i boarded which was much appreciated!"

Tam

"Great value and fantastic facilties - water,blanket charging point. The operator called to make sure i boarded which was much appreciated!"

Joyo

"Great value and fantastic facilties - water,blanket charging point. The operator called to make sure i boarded which was much appreciated!"

Javanese

"Great value and fantastic facilties - water,blanket charging point. The operator called to make sure i boarded which was much appreciated!"

Som

"Great value and fantastic facilties - water,blanket charging point. The operator called to make sure i boarded which was much appreciated!"

Testimonial

We in numbers

65000+

Customers

1400+

Daily Riders

80+

Destinations

We are live on

Bandara - Term. Palur
Term. Kartosuro - Term. Palur
erm. Palur - Tugu Kartosuro
Term. Palur - Term. Kartosuro
Pasar Klewer - Term. Palur
Term. Palur - Bandara
Term. Palur - Bandara

Book Now

Quick Linksrrrr

Wish you a Happy and Comfortable Journey

booking-confirm virtual-pay-vurl booking-cancel search-results service-details ticket-details thank-you my-page phone-blocking-to-ebooking> 404> 410>

Please Enter Your Details

Success

Thank you, Message has been sent successfully

<script> $('footer .footer-contact h3').html ("<img src='https://ticket-simply-mly-cms.s3.amazonaws.com/uploads/bcc/cms/asset/avatar/170/logo.jpg'>"); </script> <script> $(".main-menu li:nth-child(5)").html("<div class='signinf'><h3><a href='#' ><img src='https://gst-contracts.s3.amazonaws.com/uploads/bcc/cms/asset/avatar/127813/cust1.png'>Sign in</a></h3></div>"); </script> <script> if(! $(".wrapper").hasClass("inner-page")){ $(".wrapper").addClass("emdedded_new"); } </script> <script> $('#extra_21 .count').each(function() { $(this).prop('Counter', 0).animate({ Counter: $(this).text() }, { duration: 10000, easing: 'swing', step: function(now) { if($(this).is(".rating")){ $(this).text(now.toFixed(1)); } else{ $(this).text(parseInt(now)); } } }); }); </script> <script> containerWidth = document.getElementById("container").clientWidth; nextButton = document.getElementById("next-button"); previousButton = document.getElementById("previous-button"); slide = document.getElementById("slide"); firstCardLeftMargin = 10; cardWidthAndRightMargin = 120 + 10; totalWidth = slide.clientWidth; const transformSlide = (val) => { slide.style.transform = `translate(${val}px,0px)`; }; const getCurrentPosition = () => { const stringValue = slide.style.transform; const transformValue = stringValue.substring( stringValue.indexOf("(") + 1, stringValue.lastIndexOf("p") ); return transformValue ? parseInt(transformValue) : 0; }; const getNextPosition = () => { //take current position of the slide const currentPosition = getCurrentPosition(); //last visibile pixel const lastVisiblePixel = containerWidth + -1 * currentPosition; //use the last visible pixel to calculate which card was fully-visible. //This will return a float whose floor will indicate the last fully-visible card. //We will show the next card as the first card after sliding const lastFullyVisibleCard = Math.floor( (lastVisiblePixel - firstCardLeftMargin) / cardWidthAndRightMargin ); //Calculate the distance from slideStart to the lastVisibleCard's end const distanceToNextCard = lastFullyVisibleCard * cardWidthAndRightMargin + firstCardLeftMargin; if (distanceToNextCard + containerWidth > totalWidth) { return totalWidth - containerWidth + firstCardLeftMargin; } return distanceToNextCard - 10; }; const getPreviousPosition = () => { const currentPosition = getCurrentPosition(); //take current position //getting first partially visible card. This will be the last card shown when the button is clicked. const firstPartiallyVisibleCard = Math.floor( (-1 * currentPosition - firstCardLeftMargin) / cardWidthAndRightMargin ); //get distance to card end from slide start const distanceToCardEndFromSlideStart = firstPartiallyVisibleCard * cardWidthAndRightMargin + firstCardLeftMargin; //translateX distance would be total distance - containerwidth const distanceNeeded = distanceToCardEndFromSlideStart - containerWidth; //return calculateDistance only if it is positive if (distanceNeeded > 0) { return -distanceNeeded; } //if needed distance < 0 i.e. card end is closer to start than container width means that this scroll would overshoot the left edge. //return 0 and return the slide to it's initial position return 0; }; nextButton.addEventListener("click", (event) => { transformSlide(-getNextPosition()); }); previousButton.addEventListener("click", (event) => { transformSlide(getPreviousPosition()); }); </script> <script> $("<p class='booking-text'>Book with us</p>").insertBefore(".booking-widget"); </script>