
National Holocaust Museum
Plantage Middenlaan 27, 1018 DB Amsterdam
{“Monday”: “10am-5pm”, “Tuesday”: “10am-5pm”, “Wednesday”: “10am-5pm”, “Thursday”: “10am-5pm”, “Friday”: “10am-5pm”, “Saturday”: “10am-5pm”, “Sunday”: “10am-5pm”}
Kalverpassage is a modern shopping complex located in Amsterdam featuring art installations, luxury brands, and restaurants.
Location
Kalverstraat 212-220, 1012 PD Amsterdam
Official links, contact routes, and social profiles for last-minute checks before you go.
Check reservations, menus, ticketing, and the latest visitor updates.
Open Official websiteCheck current atmosphere, specials, and recent photo updates.
Open InstagramUseful for event updates, opening changes, and announcements.
Open FacebookLocal context
Crowd insights
These crowd patterns are directional, not real-time. Use them to avoid the busiest windows when you are planning your day.
[{“day”: 7, “popular_times”: [{“hour”: 6, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 7, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 8, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 9, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 10, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 11, “percentage”: 34, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 12, “percentage”: 56, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 13, “percentage”: 71, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 14, “percentage”: 77, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 15, “percentage”: 76, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 16, “percentage”: 67, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 17, “percentage”: 51, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 18, “percentage”: 30, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 19, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 20, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 21, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 22, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 23, “percentage”: 0, “title”: “”, “time”: “9p”}]}, {“day”: 1, “popular_times”: [{“hour”: 6, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 7, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 8, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 9, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 10, “percentage”: 17, “title”: “Usually not busy”, “time”: “9a”}, {“hour”: 11, “percentage”: 29, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 12, “percentage”: 40, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 13, “percentage”: 47, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 14, “percentage”: 51, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 15, “percentage”: 51, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 16, “percentage”: 47, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 17, “percentage”: 38, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 18, “percentage”: 25, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 19, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 20, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 21, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 22, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 23, “percentage”: 0, “title”: “”, “time”: “9p”}]}, {“day”: 2, “popular_times”: [{“hour”: 6, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 7, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 8, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 9, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 10, “percentage”: 17, “title”: “Usually not busy”, “time”: “9a”}, {“hour”: 11, “percentage”: 29, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 12, “percentage”: 39, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 13, “percentage”: 46, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 14, “percentage”: 49, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 15, “percentage”: 48, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 16, “percentage”: 44, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 17, “percentage”: 35, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 18, “percentage”: 23, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 19, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 20, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 21, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 22, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 23, “percentage”: 0, “title”: “”, “time”: “9p”}]}, {“day”: 3, “popular_times”: [{“hour”: 6, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 7, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 8, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 9, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 10, “percentage”: 19, “title”: “Usually not busy”, “time”: “9a”}, {“hour”: 11, “percentage”: 31, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 12, “percentage”: 41, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 13, “percentage”: 47, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 14, “percentage”: 50, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 15, “percentage”: 49, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 16, “percentage”: 43, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 17, “percentage”: 35, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 18, “percentage”: 23, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 19, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 20, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 21, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 22, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 23, “percentage”: 0, “title”: “”, “time”: “9p”}]}, {“day”: 4, “popular_times”: [{“hour”: 6, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 7, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 8, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 9, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 10, “percentage”: 20, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 11, “percentage”: 33, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 12, “percentage”: 44, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 13, “percentage”: 51, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 14, “percentage”: 53, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 15, “percentage”: 53, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 16, “percentage”: 49, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 17, “percentage”: 43, “title”: “Usually not too busy”, “time”: “3p”}, {“hour”: 18, “percentage”: 34, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 19, “percentage”: 24, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 20, “percentage”: 13, “title”: “Usually not busy”, “time”: “6p”}, {“hour”: 21, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 22, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 23, “percentage”: 0, “title”: “”, “time”: “9p”}]}, {“day”: 5, “popular_times”: [{“hour”: 6, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 7, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 8, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 9, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 10, “percentage”: 20, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 11, “percentage”: 35, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 12, “percentage”: 48, “title”: “Usually not too busy”, “time”: “12p”}, {“hour”: 13, “percentage”: 57, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 14, “percentage”: 63, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 15, “percentage”: 65, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 16, “percentage”: 63, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 17, “percentage”: 53, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 18, “percentage”: 35, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 19, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 20, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 21, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 22, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 23, “percentage”: 0, “title”: “”, “time”: “9p”}]}, {“day”: 6, “popular_times”: [{“hour”: 6, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 7, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 8, “percentage”: 0, “title”: “”, “time”: “6a”}, {“hour”: 9, “percentage”: 0, “title”: “”, “time”: “9a”}, {“hour”: 10, “percentage”: 27, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 11, “percentage”: 48, “title”: “Usually not too busy”, “time”: “9a”}, {“hour”: 12, “percentage”: 68, “title”: “Usually a little busy”, “time”: “12p”}, {“hour”: 13, “percentage”: 86, “title”: “Usually as busy as it gets”, “time”: “12p”}, {“hour”: 14, “percentage”: 96, “title”: “Usually as busy as it gets”, “time”: “12p”}, {“hour”: 15, “percentage”: 100, “title”: “Usually as busy as it gets”, “time”: “3p”}, {“hour”: 16, “percentage”: 92, “title”: “Usually as busy as it gets”, “time”: “3p”}, {“hour”: 17, “percentage”: 74, “title”: “Usually a little busy”, “time”: “3p”}, {“hour”: 18, “percentage”: 48, “title”: “Usually not too busy”, “time”: “6p”}, {“hour”: 19, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 20, “percentage”: 0, “title”: “”, “time”: “6p”}, {“hour”: 21, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 22, “percentage”: 0, “title”: “”, “time”: “9p”}, {“hour”: 23, “percentage”: 0, “title”: “”, “time”: “9p”}]}, {“day”: “live”, “percentage”: 12, “title”: “Not busy”, “time”: 10}]
The Kalverpassage stands as both a contemporary shopping arcade and a vital pedestrian artery connecting some of the city’s most iconic streets. This sleek, light-filled passage offers a perfect blend of retail therapy, culinary delights, mesmerizing art installations, and a touch of Amsterdam’s rich history. Far more than just a shopping center, the Kalverpassage represents a thoughtful example of urban design that harmoniously weaves modern architecture into Amsterdam’s historic fabric.
Located between Kalverstraat (Amsterdam’s busiest shopping street), Heiligeweg, and the picturesque Singel canal, this innovative space invites visitors to explore a carefully curated collection of shops and restaurants while experiencing stunning contemporary art and a beautifully preserved 17th-century gate—all under one spectacular LED ceiling.
The site now occupied by Kalverpassage was previously home to the Kalvertoren (Calf Tower) shopping center. Opened around 1997, the Kalvertoren quickly gained recognition for its distinctive glass and steel tower that offered panoramic views of Amsterdam from its top-floor restaurant.
A significant transformation began in 2016 when the Kroonenberg Groep acquired the property and embarked on an ambitious renovation project. Their vision went beyond just another shopping destination—they aimed to establish a dynamic “shopping arcade” that would serve as an “appealing connection” between the surrounding streets.
The renovation was completed in April 2018, unveiling the renamed “Kalverpassage.” This name change from “Kalvertoren” (Calf Tower) to “Kalverpassage” (Calf Passage) symbolizes the fundamental shift in concept, from vertical focus to horizontal flow and connectivity.
One of the most remarkable aspects of the Kalverpassage is the sensitive incorporation of the 17th-century Rasphuispoort (Grating House Gate). Dating from approximately 1603, this ornate gate was designed by celebrated Amsterdam City Architect Hendrick de Keyser.
Originally serving as the entrance to the Rasphuis—an innovative early penitentiary where inmates rasped Brazilian wood into powder for the textile dye industry—the gate features rich allegorical figures and symbolism. During the renovation, this historical artifact was carefully restored, detached from adjacent structures, framed with glass, and dramatically illuminated, making it a captivating focal point near the Heiligeweg entrance.
The architectural vision for the Kalverpassage renovation was executed by the Dutch firm de Architekten Cie., known for their expertise in handling complex urban projects. The result is a distinctly modern space characterized by openness, light, and transparency.
This sophisticated architectural approach reflects a deep understanding of urban integration, successfully weaving a modern structure into Amsterdam’s historic fabric.
What truly sets the Kalverpassage apart from typical shopping centers is its deliberate transformation into an “Art Passage.” This initiative, driven by the Kroonenberg Groep in collaboration with Amsterdam-based art gallery Reflex Amsterdam, integrates significant works of contemporary art directly into the shopping environment.
Enhancing this art experience is an Art Audio Tour, accessible via QR codes placed near the artworks, providing background information directly to visitors’ phones. This initiative transforms a shopping trip into a cultural experience, blending commerce with contemporary art and local history.
The Kalverpassage offers a thoughtfully curated mix of retail and dining experiences across its levels, catering to diverse visitors drawn to Amsterdam’s city center.
The retail selection focuses on well-established international and Dutch brands that appeal to the high footfall of Kalverstraat and Heiligeweg. Current tenants include:
The dining options within the passage are select but distinctive:
While the number of dining outlets is relatively limited compared to malls with extensive food courts, these options are strategically designed to complement the shopping and passage experience, leveraging unique assets like panoramic views and canal-side terraces.
The Kalverpassage successfully fulfills a dual function within Amsterdam’s bustling city center—serving both as a convenient pedestrian thoroughfare and as a destination in its own right.
The Kalverpassage enjoys a strategic position within Amsterdam’s historic Binnenstad (inner city) with three distinct entrances:
The Kalverpassage stands as a compelling example of thoughtful urban redevelopment within Amsterdam’s delicate historical context. By transcending the definition of a mere shopping mall, it functions as a vital pedestrian artery, a curated cultural space, and a modern retail destination seamlessly rolled into one.
What truly distinguishes this space is its commitment to blending the new with the old, and commerce with culture. The juxtaposition of cutting-edge LED art installations and a centuries-old heritage gate within a modern commercial setting creates a unique and memorable urban experience.
View 1 locations on the map
Move from this place into the strongest neighborhood and amenity guide paths.
Open the full parking guide to compare similar places across the city.
Open the full rooftop view guide to compare similar places across the city.
Open the full shopping guide to compare similar places across the city.
Open the full wheelchair accessible guide to compare similar places across the city.

Plantage Middenlaan 27, 1018 DB Amsterdam
{“Monday”: “10am-5pm”, “Tuesday”: “10am-5pm”, “Wednesday”: “10am-5pm”, “Thursday”: “10am-5pm”, “Friday”: “10am-5pm”, “Saturday”: “10am-5pm”, “Sunday”: “10am-5pm”}

Oudezijds Achterburgwal 148, 1012 DV Amsterdam
{“Monday”: “12-8pm”, “Tuesday”: “12-8pm”, “Wednesday”: “12-8pm”, “Thursday”: “12-8pm”, “Friday”: “10am-10pm”, “Saturday”: “10am-10pm”, “Sunday”: “10am-10pm”}

Javastraat 88-90, 1094 HM Amsterdam
{“Monday”: “12-2pm, 5:30-9pm”, “Tuesday”: “12-2pm, 5:30-9pm”, “Wednesday”: “12-2pm, 5:30-9pm”, “Thursday”: “12-2pm, 5:30-9pm”, “Friday”: “12-2pm, 5:30-9pm”, “Saturday”: “12-2pm, 5:30-9pm”, “Sunday”: “12-2pm, 5:30-9pm”}

WorldPride Amsterdam 2026 runs July 25–August 8. A local guide to the...
Local Events
June 22, 2026

Skip the museum queue. Amsterdam has 1,000+ free public artworks, from Rokin’s...
Travel Tips
June 22, 2026

Kinderdijk or Zaanse Schans? Both deliver classic Dutch windmills, but the vibe...
Travel Tips
June 16, 2026

Hunting for vintage clothes in Amsterdam? Westerstraat’s Monday Lapjesmarkt and the daily...
Travel Tips
May 26, 2026

Schiphol’s single-terminal layout looks simple but can eat 30 minutes between gates....
Travel Tips
May 26, 2026

Forget fumbling with unfamiliar ticket machines. OVpay lets you tap into Dutch...
Travel Tips
December 29, 2025

Late October turns Amsterdam into one giant electronic-music gathering. These 7 local...
Travel Tips
October 19, 2025

When Amsterdam turns copper and gold, locals know exactly where to stand....
Travel Tips
October 19, 2025

With 1,000+ ADE events spread across hundreds of venues, where you stay...
Travel Tips
September 30, 2025

Behind the Jordaan’s plain doors hide hofjes: serene 17th-century courtyards once built...
Travel Tips
September 30, 2025