jQuery(document).ready(function($) {
// We only want these styles applied when javascript is enabled $('.gal_content').css('display', 'block');
// Initialize Advanced Galleriffic Gallery var gallery = $('#thumbs_259682_2').galleriffic({ delay: 0, numThumbs: 0, preloadAhead: 0, enableTopPager: false, enableBottomPager: false, imageContainerSel: '#slideshow_259682_2', controlsContainerSel: '#controls_259682_2', captionContainerSel: '#caption_259682_2', loadingContainerSel: '#loading_259682_2', renderSSControls: true, renderNavControls: false, playLinkText: '', pauseLinkText: '', enableHistory: false, autoStart: false, enableKeyboardNavigation: true, syncTransitions: false, defaultTransitionDuration: 300,
onTransitionOut: function(slide, caption, isSync, callback) { slide.fadeTo(this.getDefaultTransitionDuration(isSync), 0.0, callback); caption.fadeTo(this.getDefaultTransitionDuration(isSync), 0.0); }, onTransitionIn: function(slide, caption, isSync) { var duration = this.getDefaultTransitionDuration(isSync); slide.fadeTo(duration, 1.0);
// Position the caption at the bottom of the image and set its opacity var slideImage = slide.find('img'); caption.fadeTo(duration, 1.0);
}, onPageTransitionOut: function(callback) { //this.hide(); setTimeout(callback, 100); // wait a bit }, onPageTransitionIn: function() { var prevPageLink = this.find('a.prev').css({'opacity': '0.3' , 'display' : 'inline-block', 'cursor' : 'default'}); var nextPageLink = this.find('a.next').css({'opacity': '0.3' , 'display' : 'inline-block', 'cursor' : 'default'});
// Show appropriate next / prev page links if (this.displayedPage > 0) prevPageLink.css({'opacity' : '1' , 'display' : 'inline-block', 'cursor' : 'pointer'});
var lastPage = this.getNumPages() - 1; if (this.displayedPage < lastPage) nextPageLink.css({'opacity' : '1' , 'display' : 'inline-block', 'cursor' : 'pointer'}); this.fadeTo('fast', 1.0); } }); /**************** Event handlers for custom next / prev page links **********************/ gallery.find('a.prev').click(function(e) { gallery.previousPage(); e.preventDefault(); }); gallery.find('a.next').click(function(e) { gallery.nextPage(); e.preventDefault(); }); });
Simply click/tap each photo to scroll through the full gallery.
Canggu Surf Report – Thursday 14th May 2026
Ketut was up at Canggu on Thursday morning and the check was looking pretty good. Wave height was sitting around 3 to 4ft, backed by a south-southwest swell running on a solid 14-second period that had the sets standing up well along the river mouth. The wind was light offshore from the southeast, keeping the faces clean. Crowd wise, there were around 25 surfers in the water out the front of the river. Ketut noted the conditions were nice and the lineup was reasonably relaxed for the time of day.
The sky was a bit cloudy early on but it stayed dry and did not affect the surfing conditions. With plenty of groms getting their waves and the crowd staying manageable.
Weather & Tides
Out there today it was sitting around 28C with light offshore winds still about and the water temperature a comfortable 25C. On the tides today, the water was dropping toward a low at around 3:15pm this afternoon. The next high is due close to 9:30pm tonight before the tide eases back through the early hours, then filling back in again to a high around 9:20am tomorrow morning. The long-period swell meant the sets were still getting through nicely on the dropping tide, which helped keep the morning window surfable.
Surf Forecast
Looking ahead, things look to get a notch better over the coming days. Saturday is shaping up for 4 to 5ft on a 13 to 14 second swell, and Sunday looks to hold that size comfortably as the period ticks up a touch further. Come Monday there is potential to nudge closer to 5ft as the run continues. Head to the swell forecast for the full picture. Early mornings before the local wind builds should be the best window each day.
Thanks again for dropping into the No.1 surf report website from right here on the World’s No.1 tropical surfing holiday destination of Bali. Disclaimer; Baliwaves.com accepts no responsibility for absenteeism, day dreaming, depression, divorce, lethargy, alcoholism, jealousy, black magic, midlife crisis, Bali belly or loss of wages. Any reference or resemblance to real living people (or zombies) in these reports are purely co incidental. All material appearing on baliwaves.com can under no circumstance be re printed or used in anyway without written permission (bahahaha) from baliwaves.com











































Recent Comments