Notification: Please enable JavaScript and reload this page. Malts requires all users to enter their date of birth and country for verification of legal drinking age.
facebook-square pinterest-square twitter-square YouTube angle-down angle-left angle-right angle-up body caret-down caret-left caret-right caret-up casks character cross distillation Distillers-Edition Drops-of-Wisdom-close Drops-of-Wisdom-info Drops-of-Wisdom-orientation-arrow fermentation finish highlands islands left-arrow lowlands magnifying mashing minus nose palate Playhead plus process qq quote right-arrow scotland-outline scotland-shape Special-Release speyside star-half-empty star-half star-o star wechat weibo type-of-malt minus2 plus2

DISTILLERIES

They cling to the side of mountains, nestle in lush valley bottoms, and brave the elements on the shores of islands and hidden coves. But Scotch distilleries all have one thing in common: outstanding craft and single malt whisky.

Visit our
WHISKY DISTILLERIES

See the craft and creation first hand

You can enjoy Single Malt Scotch Whisky without ever having visited a whisky distillery. But once you’ve seen the process – from barley to maturation – it’s fair to say your appreciation will find new depths. They’re pretty popular so it’s always a good idea to phone ahead, and be aware that in most cases the last tour leaves an hour before closing time

Register for your free pass

CHOOSE YOUR DESTINATION
Squeeze it into your holiday itinerary, or better still, make a pilgrimage to your favourite distillery.

System.Web.HttpCompileException (0x80004005): e:\root\www_malts_com4329\www\Views\Partials\StructuredData.cshtml(56): error CS0103: The name 'context' does not exist in the current context at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) at System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists(String virtualPath) at Microsoft.Web.Mvc.ViewEngineFixWorker`1.<>c__DisplayClass4.<GetPathFromGeneralName>b__0(String path) at System.Web.WebPages.DefaultDisplayMode.GetDisplayInfo(HttpContextBase httpContext, String virtualPath, Func`2 virtualPathExists) at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate) at Microsoft.Web.Mvc.ViewEngineFixWorker`1.GetPathFromGeneralName(ControllerContext controllerContext, List`1 locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations) at Microsoft.Web.Mvc.ViewEngineFixWorker`1.GetPath(ControllerContext controllerContext, String[] locations, String[] areaLocations, String locationsPropertyName, String name, String controllerName, String cacheKeyPrefix, Boolean useCache, String[]& searchedLocations) at Microsoft.Web.Mvc.ViewEngineFixWorker`1.FindPartialView(ControllerContext controllerContext, String partialViewName, Boolean useCache) at Umbraco.Web.Mvc.RenderViewEngine.FindPartialView(ControllerContext controllerContext, String partialViewName, Boolean useCache) at Umbraco.Core.Profiling.ProfilingViewEngine.FindPartialView(ControllerContext controllerContext, String partialViewName, Boolean useCache) at System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup, Boolean trackSearchedPaths) at System.Web.Mvc.ViewEngineCollection.FindPartialView(ControllerContext controllerContext, String partialViewName) at System.Web.Mvc.HtmlHelper.FindPartialView(ViewContext viewContext, String partialViewName, ViewEngineCollection viewEngineCollection) at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) at ASP._Page_Views_Page_cshtml.Execute() in e:\root\www_malts_com4329\www\Views\Page.cshtml:line 34