Home » Europe » Portugal » Óbidos » Óbidos Castle
Óbidos Castle

Óbidos Castle

Óbidos Castle is a historic site located in the town of Óbidos, Portugal. This medieval fortress dates back to the 12th century and is a key attraction for visitors interested in history and architecture.

obidos
Share to Friends
Historic Castle

About This Attraction

Óbidos Castle is a historic site located in the town of Óbidos, Portugal. This medieval fortress dates back to the 12th century and is a key attraction for visitors interested in history and architecture. The castle features well-preserved walls and towers that offer panoramic views of the surrounding landscape. Visitors can explore the castle grounds and take in the ancient stonework, which reflects the architectural styles of various periods.

When planning your visit, its important to note the Óbidos Castle opening hours, as they can vary throughout the year. Typically, the castle is open daily, but checking in advance is recommended to ensure access. The site is accessible by foot from the town center, making it a convenient stop for tourists. Besides exploring the castle, visitors can enjoy the charming streets of Óbidos, which are lined with traditional shops and cafes. This makes for a well-rounded cultural experience in one of Portugals most picturesque towns.

Location Details

Address R. Direita, 2510-001 Óbidos, Portugal

Visitor Information

Pricing & Ratings

Ticket Prices

Adult Free
Child Free
Student Free
Senior Free

Ratings

Overall Rating
8.5/10
Crowd Level
7.0/10

Opening Hours & Booking

Open

Days Monday to Sunday
Hours 9:00 AM to 5:00 PM
Seasonality Closed on public holidays

Booking

Booking Required? No

Nearby Attractions

Showing 10 of 28 attractions
Miles Kilometers

Quinta da Regaleira

Historic Estate

Quinta da Regaleira in Sintra, Portugal, is a historical estate known for its architectural and…

9.5/10
Learn More

Moorish Castle

Historical Site

The Moorish Castle in Sintra is a significant historical site that dates back to the…

8.5/10
Learn More

Pena Palace

Historic Palace

Pena Palace in Sintra, Portugal, is a renowned architectural landmark and one of the Seven…

9.2/10
Learn More

Alfama

Historic Neighborhood

Alfama is one of the oldest neighborhoods in Lisbon, known for its narrow streets and…

8.5/10
Learn More

Jeronimos Monastery

Historical Site

Jeronimos Monastery in Lisbon is a stunning example of Manueline architecture, a style unique to…

9.2/10
Learn More

Belem Tower

Historical Monument

Belem Tower, officially known as the Tower of Saint Vincent, is a fortified structure located…

8.7/10
Learn More

Igreja de Santa Maria

Historical Church

Igreja de Santa Maria, located in the historic town of Óbidos, Portugal, is a beautiful…

8.5/10
Learn More

Christopher Columbus House Museum

Museum

The Christopher Columbus House Museum in Porto Santo offers visitors a chance to learn about…

8.0/10
Learn More

Terra Nostra Garden

Botanical Garden

Terra Nostra Garden, located in the beautiful Azores, is a botanical garden known for its…

9.2/10
Learn More

Laurisilva Forest

Natural Reserve

The Laurisilva Forest in Madeira is a UNESCO World Heritage Site known for its unique…

9.5/10
Learn More
"; } // 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