Christmas Market at the Wiener Linien Museum

Experience the festive season in a truly unique setting. From 4 to 20 December 2026, the Wiener Linien Museum opens its doors every weekend for a Christmas market unlike any other. Families can enjoy a varied children's programme with treasure hunts, storytelling sessions and hands-on activities, while public transport enthusiasts and nostalgia lovers can explore historic vehicles, special guided tours and the brand-new Flea Market, featuring rare collectibles and transport memorabilia from the history of Vienna's public transport system. Live music, seasonal activities and festive treats make this a memorable Christmas experience for visitors of all ages.


  • When?
    4-20 Decemter 2026
    Every Friday to Sunday, 2:00 PM - 9:00 PM

  • Where?


  • Who is it for?
    Families, public transport enthusiasts
    and anyone looking for a unique Christmas Experience

What to Expect:

For Families

Free Children's Treasure Hunt

Set off on an exciting adventure across the Christmas market grounds. Children can solve puzzles, uncover hidden clues and complete fun challenges while discovering the world of Vienna's public transport system.

Vienna Lines Storytelling Sessions

Join little snowman Flocko on a magical winter journey through Vienna. These charming stories bring the festive season to life and offer a cosy experience for young visitors.

St. Nicholas Visit

St. Nicholas will make a special appearance at the Remise, bringing festive cheer and small surprises for children.

Creative & Discovery Activity Boxes

Young visitors can explore, create and experiment with hands-on activities designed especially for curious minds and future transport fans.

Public Transport Innovation Workshop for Children

How will you travel through Vienna in the future? Children are invited to draw, build and design their vision of tomorrow's public transport system.

Curling Fun

A winter favourite for families, friends and colleagues. Test your aim and enjoy a fun seasonal activity together.

Christmas Post Office

Send festive greetings anywhere in Austria free of charge with special Vienna Lines Christmas postcards.

For Public Transport Fans

Historic Vehicles

Explore over 100 years of Vienna's transport history through beautifully preserved trams, buses and underground vehicles.

Special Winter & Christmas Guided Tour

Take a journey through Vienna's public transport history during the winter season. Discover historic snow-clearing vehicles, fascinating stories and how operations were maintained during cold weather in decades past.

Remise Flea Market

A highlight for collectors and transport enthusiasts. Browse historic signs, route maps, memorabilia, collectibles and one-of-a-kind pieces from the history of Vienna's public transport network. Many items are available from just €0.50.

Photo Corner

Capture the festive atmosphere with a unique souvenir photo in a setting that combines Christmas magic with public transport heritage.

Christmas Gifts at the Remise Shop

Find the perfect gift for transport enthusiasts, collectors and nostalgia fans, including books, calendars, models and exclusive Vienna Lines merchandise.

For Food & Music Lovers

Coffeehouse Tram in a Historic E1 Tram

Step aboard a historic Viennese tram and enjoy a unique coffeehouse experience surrounded by transport history.

Seasonal Food & Hot Drinks

From sweet treats to savoury snacks, warming punch and hot beverages, there's something to satisfy every festive craving.

Live Music by the U-Bahn Stars

Enjoy festive live performances by the famous U-Bahn Stars, bringing Christmas spirit to the market with seasonal songs and popular favourites.

Vienna Lines Brass Band

Traditional Christmas music and festive melodies create a warm and welcoming atmosphere throughout the museum.


Highlight: Flea Market

From historic signs and route maps to rare collectibles and transport memorabilia, the Flea Market offers a unique opportunity to take home a piece of Vienna's public transport history. Whether you're a dedicated collector, a long-time transport fan or simply enjoy browsing for unusual finds, you're sure to discover something special.


Highlight: Winter & Christmas Guided Tour

Travel back in time and discover how Vienna's public transport system operated during the winter months. This exclusive guided tour offers fascinating insights into historic vehicles, snow clearance operations and festive traditions from decades past.


Visitor Favourite: Curling

Ready, aim, slide! Book a curling lane and enjoy some friendly competition with family, friends or colleagues in the unique setting of the Wiener Linien Museum.


Programme Overview:

  • 2.00 pm to 9.00 pm: Wheel of Fortune
    3.00 pm: Special guided tour of the depot
    3.30 pm: Wiener Linien story time
    5.00 pm to 6.00 pm: Live music with the Wiener Linien brass band

  • 3.00 pm: Special guided tour
    4.30 pm to 5.30 pm: Live music with the U-Bahn-Stars

  • 3.00 pm: Special guided tour 
    3.00 pm to 6.00 pm: Visit from St. Nicholas 
    4.30 pm to 5.30 pm: Live music with the U-Bahn-Stars

    3.00 pm: Special guided tour 
    3.00 pm to 6.00 pm: Visit from St. Nicholas 
    4.30 pm to 5.30 pm: Live music with the U-Bahn-Stars

  • 3.00 pm: Special guided tour 
    3.30 pm: Story time for children
    4.30 pm to 5.30 pm: Live music with the U-Bahn-Stars

  • 2.00 pm to 6.00 pm: Special children’s public transport thinking workshop: Draw your public transport future
    3.00 pm: Special guided tour 
    4.30 pm to 5.30 pm: Live music with the U-Bahn Stars

  • 3.00 pm: Special guided tour 
    4.30 pm to 5.30 pm: Live music with the U-Bahn-Stars

  • 3.00 pm: Special guided tour 
    3.30 pm: Story time for children
    4.30 pm to 5.30 pm: Live music with the U-Bahn-Stars

  • 2.00 pm to 6.00 pm: Special children’s public transport thinking workshop: Draw your future of public transport
    3.00 pm: Special guided tour 
    4.30 pm to 5.30 pm: Live music with the U-Bahn Stars

  • 3.00 pm: Special guided tour 
    4.30 pm to 5.30 pm: Live music with the U-Bahn-Stars

Available Every Christmas Market Weekend | 4-20 December 2026

In addition to the scheduled programme, visitors can enjoy a wide range of attractions throughout every Christmas market weekend. Discover the Flea Market, test your skills at curling, send festive greetings from the Christmas Post Office, visit the Photo Corner, relax in the historic Coffeehouse Tram and enjoy creative activities for children.


Here’s how to get to the Wiener Linien Christmas Market:

Remise Christmas Market

Address: Fruethstraße 2, 1030 Vienna
How to get there: U3, 18 Schlachthausgasse | 77A, 80A Ludwig-Koeßler-Platz

  • +43 1 7909 46803
  • remise@wienerlinien.at

Plan your journey with wienmobil.at

Looking for Christmas Gifts?

The Vienna Lines Shop offers original gift ideas for transport enthusiasts, collectors and nostalgia lovers. Browse exclusive merchandise, models, books and seasonal products on site or online at shop.wienerlinien.at. Happy browsing, happy gifting, and happy holidays!

Browse further:

  • An error occurred while processing the template.
    Can't convert this string to boolean: ""
    The blamed expression:
    ==> Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 10]
    
    ----
    FTL stack trace ("~" means nesting-related):
    	- Failed at: #if Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 5]
    ----
    1<#assign link = "#!"> 
    2 
    3<#assign journalArticleId = .vars['reserved-article-id'].data/> 
    4 
    5<#if ProduktlinkURLExtern.getData()?has_content> 
    6  <#assign link = ProduktlinkURLExtern.getData()> 
    7</#if> 
    8<#if ProduktlinkIntern?? && ProduktlinkIntern.getFriendlyUrl()?has_content> 
    9  <#assign link = ProduktlinkIntern.getFriendlyUrl()> 
    10</#if> 
    11 
    12<#assign bezeichnung=Produktbezeichnung.getData()!""> 
    13<#if bezeichnung?length gt 25> 
    14<#assign bezeichnung = bezeichnung?truncate(25, '...') > 
    15</#if> 
    16 
    17<#assign kurztext = ProduktbezeichnungKurztext.getData()!""> 
    18<#if kurztext?length gt 80> 
    19<#assign kurztext = kurztext?truncate(80, '...') > 
    20</#if> 
    21 
    22<#assign product_link = ProduktlinkName.getData()!""> 
    23<#if product_link?length gt 20> 
    24<#assign product_link = product_link?truncate(20, '...') > 
    25</#if> 
    26 
    27<div class="c-card c-card--vertical c-card--cut c-card--fanshop"> 
    28  <div class="c-card__content c-card__link c-card__pseudolink"> 
    29    <div class="c-card__media"> 
    30    <#if Produktbild.getData()?has_content> 
    31      <@image_format["imgformat"] formattype='landscape-image--4x3' lightbox='lightbox-image' fileentryid='${Produktbild.getAttribute("fileEntryId")}' 
    32        src='${Produktbild.getData()}' loading='lazy' alt='${Produktbild.getAttribute("alt")}' class="c-card__image u-format-4x3" /> 
    33    </#if> 
    34    <#if Neu.getData()?boolean> 
    35      <div class="c-card__badge"> 
    36        <span class="c-card__badge-text">${languageUtil.get(locale, "wlp-shop-card-new")}</span> 
    37      </div> 
    38    </#if> 
    39    </div> 
    40    <div class="c-card__text"> 
    41      <c-ellipsis target-selector=".c-card__teaser-text"> 
    42        <h3 class="c-card__headline">${bezeichnung}</h3> 
    43        <div class="c-card__teaser-text"> 
    44          ${kurztext} 
    45        </div> 
    46      </c-ellipsis> 
    47    </div> 
    48    <div class="c-card__footer"> 
    49      <div class="c-card__footer-section"> 
    50        <a href="${link}" class="c-card__text-link c-card--fanshop__text-link"> 
    51          <span class="o-text-link">${product_link} <i class="u-sr-only">${bezeichnung}</i></span> 
    52        </a> 
    53        <span class="c-card--fanshop__price"> 
    54          EUR <strong>${Preis.getData()}</strong> 
    55        </span> 
    56      </div> 
    57    </div> 
    58  </div> 
    59</div> 
  • An error occurred while processing the template.
    Can't convert this string to boolean: ""
    The blamed expression:
    ==> Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 10]
    
    ----
    FTL stack trace ("~" means nesting-related):
    	- Failed at: #if Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 5]
    ----
    1<#assign link = "#!"> 
    2 
    3<#assign journalArticleId = .vars['reserved-article-id'].data/> 
    4 
    5<#if ProduktlinkURLExtern.getData()?has_content> 
    6  <#assign link = ProduktlinkURLExtern.getData()> 
    7</#if> 
    8<#if ProduktlinkIntern?? && ProduktlinkIntern.getFriendlyUrl()?has_content> 
    9  <#assign link = ProduktlinkIntern.getFriendlyUrl()> 
    10</#if> 
    11 
    12<#assign bezeichnung=Produktbezeichnung.getData()!""> 
    13<#if bezeichnung?length gt 25> 
    14<#assign bezeichnung = bezeichnung?truncate(25, '...') > 
    15</#if> 
    16 
    17<#assign kurztext = ProduktbezeichnungKurztext.getData()!""> 
    18<#if kurztext?length gt 80> 
    19<#assign kurztext = kurztext?truncate(80, '...') > 
    20</#if> 
    21 
    22<#assign product_link = ProduktlinkName.getData()!""> 
    23<#if product_link?length gt 20> 
    24<#assign product_link = product_link?truncate(20, '...') > 
    25</#if> 
    26 
    27<div class="c-card c-card--vertical c-card--cut c-card--fanshop"> 
    28  <div class="c-card__content c-card__link c-card__pseudolink"> 
    29    <div class="c-card__media"> 
    30    <#if Produktbild.getData()?has_content> 
    31      <@image_format["imgformat"] formattype='landscape-image--4x3' lightbox='lightbox-image' fileentryid='${Produktbild.getAttribute("fileEntryId")}' 
    32        src='${Produktbild.getData()}' loading='lazy' alt='${Produktbild.getAttribute("alt")}' class="c-card__image u-format-4x3" /> 
    33    </#if> 
    34    <#if Neu.getData()?boolean> 
    35      <div class="c-card__badge"> 
    36        <span class="c-card__badge-text">${languageUtil.get(locale, "wlp-shop-card-new")}</span> 
    37      </div> 
    38    </#if> 
    39    </div> 
    40    <div class="c-card__text"> 
    41      <c-ellipsis target-selector=".c-card__teaser-text"> 
    42        <h3 class="c-card__headline">${bezeichnung}</h3> 
    43        <div class="c-card__teaser-text"> 
    44          ${kurztext} 
    45        </div> 
    46      </c-ellipsis> 
    47    </div> 
    48    <div class="c-card__footer"> 
    49      <div class="c-card__footer-section"> 
    50        <a href="${link}" class="c-card__text-link c-card--fanshop__text-link"> 
    51          <span class="o-text-link">${product_link} <i class="u-sr-only">${bezeichnung}</i></span> 
    52        </a> 
    53        <span class="c-card--fanshop__price"> 
    54          EUR <strong>${Preis.getData()}</strong> 
    55        </span> 
    56      </div> 
    57    </div> 
    58  </div> 
    59</div> 
  • An error occurred while processing the template.
    Can't convert this string to boolean: ""
    The blamed expression:
    ==> Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 10]
    
    ----
    FTL stack trace ("~" means nesting-related):
    	- Failed at: #if Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 5]
    ----
    1<#assign link = "#!"> 
    2 
    3<#assign journalArticleId = .vars['reserved-article-id'].data/> 
    4 
    5<#if ProduktlinkURLExtern.getData()?has_content> 
    6  <#assign link = ProduktlinkURLExtern.getData()> 
    7</#if> 
    8<#if ProduktlinkIntern?? && ProduktlinkIntern.getFriendlyUrl()?has_content> 
    9  <#assign link = ProduktlinkIntern.getFriendlyUrl()> 
    10</#if> 
    11 
    12<#assign bezeichnung=Produktbezeichnung.getData()!""> 
    13<#if bezeichnung?length gt 25> 
    14<#assign bezeichnung = bezeichnung?truncate(25, '...') > 
    15</#if> 
    16 
    17<#assign kurztext = ProduktbezeichnungKurztext.getData()!""> 
    18<#if kurztext?length gt 80> 
    19<#assign kurztext = kurztext?truncate(80, '...') > 
    20</#if> 
    21 
    22<#assign product_link = ProduktlinkName.getData()!""> 
    23<#if product_link?length gt 20> 
    24<#assign product_link = product_link?truncate(20, '...') > 
    25</#if> 
    26 
    27<div class="c-card c-card--vertical c-card--cut c-card--fanshop"> 
    28  <div class="c-card__content c-card__link c-card__pseudolink"> 
    29    <div class="c-card__media"> 
    30    <#if Produktbild.getData()?has_content> 
    31      <@image_format["imgformat"] formattype='landscape-image--4x3' lightbox='lightbox-image' fileentryid='${Produktbild.getAttribute("fileEntryId")}' 
    32        src='${Produktbild.getData()}' loading='lazy' alt='${Produktbild.getAttribute("alt")}' class="c-card__image u-format-4x3" /> 
    33    </#if> 
    34    <#if Neu.getData()?boolean> 
    35      <div class="c-card__badge"> 
    36        <span class="c-card__badge-text">${languageUtil.get(locale, "wlp-shop-card-new")}</span> 
    37      </div> 
    38    </#if> 
    39    </div> 
    40    <div class="c-card__text"> 
    41      <c-ellipsis target-selector=".c-card__teaser-text"> 
    42        <h3 class="c-card__headline">${bezeichnung}</h3> 
    43        <div class="c-card__teaser-text"> 
    44          ${kurztext} 
    45        </div> 
    46      </c-ellipsis> 
    47    </div> 
    48    <div class="c-card__footer"> 
    49      <div class="c-card__footer-section"> 
    50        <a href="${link}" class="c-card__text-link c-card--fanshop__text-link"> 
    51          <span class="o-text-link">${product_link} <i class="u-sr-only">${bezeichnung}</i></span> 
    52        </a> 
    53        <span class="c-card--fanshop__price"> 
    54          EUR <strong>${Preis.getData()}</strong> 
    55        </span> 
    56      </div> 
    57    </div> 
    58  </div> 
    59</div> 
  • An error occurred while processing the template.
    Can't convert this string to boolean: ""
    The blamed expression:
    ==> Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 10]
    
    ----
    FTL stack trace ("~" means nesting-related):
    	- Failed at: #if Neu.getData()?boolean  [in template "2424466#2424503#FANSHOPTEMPLATE" at line 34, column 5]
    ----
    1<#assign link = "#!"> 
    2 
    3<#assign journalArticleId = .vars['reserved-article-id'].data/> 
    4 
    5<#if ProduktlinkURLExtern.getData()?has_content> 
    6  <#assign link = ProduktlinkURLExtern.getData()> 
    7</#if> 
    8<#if ProduktlinkIntern?? && ProduktlinkIntern.getFriendlyUrl()?has_content> 
    9  <#assign link = ProduktlinkIntern.getFriendlyUrl()> 
    10</#if> 
    11 
    12<#assign bezeichnung=Produktbezeichnung.getData()!""> 
    13<#if bezeichnung?length gt 25> 
    14<#assign bezeichnung = bezeichnung?truncate(25, '...') > 
    15</#if> 
    16 
    17<#assign kurztext = ProduktbezeichnungKurztext.getData()!""> 
    18<#if kurztext?length gt 80> 
    19<#assign kurztext = kurztext?truncate(80, '...') > 
    20</#if> 
    21 
    22<#assign product_link = ProduktlinkName.getData()!""> 
    23<#if product_link?length gt 20> 
    24<#assign product_link = product_link?truncate(20, '...') > 
    25</#if> 
    26 
    27<div class="c-card c-card--vertical c-card--cut c-card--fanshop"> 
    28  <div class="c-card__content c-card__link c-card__pseudolink"> 
    29    <div class="c-card__media"> 
    30    <#if Produktbild.getData()?has_content> 
    31      <@image_format["imgformat"] formattype='landscape-image--4x3' lightbox='lightbox-image' fileentryid='${Produktbild.getAttribute("fileEntryId")}' 
    32        src='${Produktbild.getData()}' loading='lazy' alt='${Produktbild.getAttribute("alt")}' class="c-card__image u-format-4x3" /> 
    33    </#if> 
    34    <#if Neu.getData()?boolean> 
    35      <div class="c-card__badge"> 
    36        <span class="c-card__badge-text">${languageUtil.get(locale, "wlp-shop-card-new")}</span> 
    37      </div> 
    38    </#if> 
    39    </div> 
    40    <div class="c-card__text"> 
    41      <c-ellipsis target-selector=".c-card__teaser-text"> 
    42        <h3 class="c-card__headline">${bezeichnung}</h3> 
    43        <div class="c-card__teaser-text"> 
    44          ${kurztext} 
    45        </div> 
    46      </c-ellipsis> 
    47    </div> 
    48    <div class="c-card__footer"> 
    49      <div class="c-card__footer-section"> 
    50        <a href="${link}" class="c-card__text-link c-card--fanshop__text-link"> 
    51          <span class="o-text-link">${product_link} <i class="u-sr-only">${bezeichnung}</i></span> 
    52        </a> 
    53        <span class="c-card--fanshop__price"> 
    54          EUR <strong>${Preis.getData()}</strong> 
    55        </span> 
    56      </div> 
    57    </div> 
    58  </div> 
    59</div>