Home » Asia » Thailand » Krabi » Emerald Pool
Emerald Pool

Emerald Pool

Emerald Pool in Krabi, Thailand, is a popular natural attraction located within the Thung Teao Forest Natural Park. Accessible via a 1.

Krabi
Share to Friends
Natural Pool

About This Attraction

Emerald Pool in Krabi, Thailand, is a popular natural attraction located within the Thung Teao Forest Natural Park. Accessible via a 1.4-kilometer trail through lush rainforest, this crystal-clear pool is known for its striking emerald color. The water temperature is typically around 30 degrees Celsius, making it suitable for swimming most of the year. Visitors should note that the best time to visit is during the dry season from November to April to avoid heavy rains.

For those seeking Emerald Pool travel information, its important to know there is an entrance fee, which helps maintain the site. Facilities include restrooms and small cafes near the entrance. Its advisable to wear comfortable footwear for the walk and bring swimwear if planning to take a dip. Be mindful of safety signs and regulations to ensure a pleasant experience for everyone.

Location Details

Address Khlong Thom Nuea, Khlong Thom District, Krabi 81120, Thailand

Visitor Information

Pricing & Ratings

Ticket Prices

Adult 200 THB
Child 100 THB
Student 150 THB
Senior 200 THB

Ratings

Overall Rating
8.5/10
Crowd Level
7.0/10

Opening Hours & Booking

Open

Days Daily
Hours 08:30 - 16:30
Seasonality Year-round

Booking

Booking Required? No

Nearby Attractions

Showing 10 of 100 attractions
Miles Kilometers

Koh Lanta Night Market

Market

Vibrant local market with food stalls and crafts.

8.5/10

Klong Dao Beach

Beach

Klong Dao Beach is located on the island of Koh Lanta in Thailand, known for…

8.5/10
Learn More

Chao Fah Park Pier

Pier

Scenic pier with views of Krabi River, popular for boat tours.

7.8/10

Krabi Walking Street

Market

Vibrant night market with food, crafts, and live music.

8.5/10

Koh Lanta Community Museum

Cultural Museum

A museum showcasing the history and culture of Koh Lanta.

7.5/10

Thara Park

Public Park

A scenic public park offering waterfront views, playgrounds, and walking paths.

8.5/10

Krabi Contemporary Art Museum

Art Museum

A modern art museum showcasing contemporary Thai and international art.

7.5/10

Krabi Town Mangrove Forest

Natural Attraction

A scenic mangrove forest with diverse wildlife, ideal for kayaking and eco-tours.

8.5/10

Krabi River Viewpoint

Scenic Viewpoint

Scenic viewpoint overlooking Krabi River and mangroves.

8.5/10

Wat Kaew Korawaram

Buddhist Temple

A serene Buddhist temple with white exterior and intricate carvings.

8.5/10
"; } // Initialize modal controls const initModalControls = function() { console.log('Initializing modal controls'); const modal = document.getElementById('attraction-modal'); const closeBtn = document.querySelector('.attraction-modal-close'); if (closeBtn) { closeBtn.addEventListener('click', function() { modal.style.display = 'none'; document.body.style.overflow = ''; }); } window.addEventListener('click', function(event) { if (event.target === modal) { modal.style.display = 'none'; document.body.style.overflow = ''; } }); // Make attraction cards clickable const attractionCards = document.querySelectorAll('.attraction-card'); console.log('Found ' + attractionCards.length + ' attraction cards'); attractionCards.forEach(card => { card.addEventListener('click', function(e) { openModalWithCardData(this); }); }); }; // Function to open modal with card data const openModalWithCardData = function(card) { // Get data from hidden div const data = card.querySelector('.attraction-full-data'); if (!data) { console.error('No attraction data found in card'); return; } const modal = document.getElementById('attraction-modal'); if (!modal) { console.error('Modal element still not found after creation attempt'); return; } // Helper function to safely get element text function getElementText(selector) { const element = data.querySelector(selector); return element ? element.textContent : ''; } try { // Basic Info document.getElementById('attraction-modal-title').textContent = getElementText('.attraction-name'); document.getElementById('attraction-modal-type').textContent = getElementText('.attraction-type-full'); document.getElementById('attraction-modal-description').textContent = getElementText('.attraction-description-full'); // Reset all containers to hidden ['attraction-modal-hours-container', 'attraction-modal-price-container', 'attraction-modal-address-container', 'attraction-modal-image-container'].forEach(id => { const container = document.getElementById(id); if (container) container.style.display = 'none'; }); // Rating const ratingText = getElementText('.attraction-rating-full'); if (ratingText) { const ratingValue = parseFloat(ratingText); if (!isNaN(ratingValue)) { const ratingValueEl = document.getElementById('attraction-modal-rating-value'); const ratingFillEl = document.getElementById('attraction-modal-rating-fill'); if (ratingValueEl) ratingValueEl.textContent = ratingValue.toFixed(1) + '/10'; if (ratingFillEl) ratingFillEl.style.width = (ratingValue * 10) + '%'; } } // Show the modal modal.style.display = 'block'; document.body.style.overflow = 'hidden'; // Prevent background scrolling console.log('Modal opened successfully'); } catch (error) { console.error('Error opening modal:', error); } }; // Try to create the modal const created = createModal(); console.log('Modal created:', created); // If not created (already exists), initialize the controls if (!created) { initModalControls(); } // Also initialize distance toggle const distanceToggle = document.getElementById('distance-unit-toggle'); if (distanceToggle) { distanceToggle.addEventListener('change', function() { const showKm = this.checked; // Update toggle labels const labels = document.querySelectorAll('.toggle-label'); if (labels.length >= 2) { labels[0].style.opacity = showKm ? '0.5' : '1'; labels[1].style.opacity = showKm ? '1' : '0.5'; } // Update all distance displays document.querySelectorAll('.nearby-attraction-card').forEach(card => { const kmEl = card.querySelector('.distance-km'); const miEl = card.querySelector('.distance-mi'); if (kmEl && miEl) { kmEl.style.display = showKm ? 'inline' : 'none'; miEl.style.display = showKm ? 'none' : 'inline'; } }); }); } });
Scroll to Top