Dare to step out of your

comfort zone

Climb the treetops, solve mysteries on the ground or challenge your colleagues in the next team building. At Upzone, adventure awaits everyone – in the middle of nature, with maximum safety and lots of laughter.

You're viewing

Välj parkBoråsGöteborgKalmarSkövdeSollentunaÄngelholm
/* Wrapper = den visuella "Göteborg"-ytan */ .uz-parkselect{ position: relative; display: inline-flex; align-items: center; justify-content: center; padding-right: 22px; /* plats för pilen */ } /* Själva selecten (texten) */ #uz-park-select{ /* Typografi */ font-family: "Noway Upzone", sans-serif !important; font-weight: 700; font-size: 1.1rem; letter-spacing: 0.02em; line-height: 1.1; /* Reset */ appearance: none; -webkit-appearance: none; -moz-appearance: none; background: transparent; border: 0; margin: 0; padding: 0; /* Färg & beteende */ color: #fff; cursor: pointer; /* Centrering */ text-align: center; /* Stabil klickyta */ min-width: 110px; } /* Dropdown-pil – ligger INUTI ytan */ .uz-parkselect::after{ content: ""; position: absolute; right: 6px; top: 50%; width: 7px; height: 7px; border-right: 2px solid rgba(255,255,255,.9); border-bottom: 2px solid rgba(255,255,255,.9); transform: translateY(-50%) rotate(45deg); pointer-events: none; } /* Dropdown-alternativ */ #uz-park-select option{ font-family: "Noway Upzone", sans-serif; font-weight: 600; color: #111; }

Your adventure starts here.

Whether you want to climb the treetops, solve puzzles, compete in teams or just have a laugh with the family, there’s something for everyone. Filter by park to see what’s near you.

(function(){ // Global guard (om scriptet råkar hamna flera gånger) if (window.__UPZ_ACTIVITY_AVAIL_SORT_INITED__) return; window.__UPZ_ACTIVITY_AVAIL_SORT_INITED__ = true; // --------------------------- // Config // --------------------------- const LS_KEY = (window.UPZ_BOOKING && UPZ_BOOKING.lsKey) ? UPZ_BOOKING.lsKey : "selected_park"; const PARK_LABELS = { goteborg: "Göteborg", boras: "Borås", kalmar: "Kalmar", skovde: "Skövde", sollentuna: "Sollentuna", angelholm: "Ängelholm", }; function getSelectedPark(){ try { return (localStorage.getItem(LS_KEY) || "").trim().toLowerCase(); } catch(e){ return ""; } } function labelForSlug(slug, card){ slug = String(slug || "").toLowerCase().trim(); if (!slug) return ""; if (PARK_LABELS[slug]) return PARK_LABELS[slug]; const termEls = card.querySelectorAll(".elementor-post-info__terms-list-item"); for (const el of termEls) { const name = (el.textContent || "").trim(); if (!name) continue; const guess = name.toLowerCase() .replace(/å/g,"a").replace(/ä/g,"a").replace(/ö/g,"o") .replace(/\s+/g,"-").replace(/[^\w-]/g,""); if (guess === slug) return name; } return slug.charAt(0).toUpperCase() + slug.slice(1); } function formatList(arr){ const a = arr.filter(Boolean); if (!a.length) return ""; if (a.length === 1) return a[0]; if (a.length === 2) return `${a[0]} & ${a[1]}`; return `${a.slice(0, -1).join(", ")} & ${a[a.length - 1]}`; } function setIconListText(rowEl, text){ if (!rowEl) return; const textEl = rowEl.querySelector(".elementor-icon-list-text") || rowEl; if (textEl) textEl.textContent = text; } function show(el){ if (el) el.style.display = ""; } function hide(el){ if (el) el.style.display = "none"; } function getOrterSlugsFromCard(card){ const slugs = []; card.classList.forEach(cls => { if (cls.indexOf("orter-") === 0) slugs.push(cls.slice("orter-".length)); }); return Array.from(new Set(slugs.map(s => String(s).toLowerCase().trim()).filter(Boolean))); } // --------------------------- // Update one slide/card // + set availability attribute // --------------------------- function updateCard(card){ const slugs = getOrterSlugsFromCard(card); if (!slugs.length) return; const selected = getSelectedPark(); const isAvailable = !!selected && slugs.includes(selected); // mark for sorting card.dataset.upzAvailable = isAvailable ? "1" : "0"; const tillgRow = card.querySelector(".tillg"); const ejRow = card.querySelector(".ej-tillg"); if (isAvailable) { const selectedLabel = labelForSlug(selected, card); show(tillgRow); setIconListText(tillgRow, `Tillgängligt i ${selectedLabel}`); hide(ejRow); } else { hide(tillgRow); const all = slugs.map(s => labelForSlug(s, card)); show(ejRow); setIconListText(ejRow, `Finns i ${formatList(all)}`); } } // --------------------------- // Sort within a swiper-wrapper // Available first, unavailable last // --------------------------- function sortWrapper(wrapper){ if (!wrapper) return; // Hämta "original" slides (inte duplicates) så långt det går const slides = Array.from(wrapper.children).filter(el => { if (!(el instanceof HTMLElement)) return false; if (!el.classList.contains("e-loop-item")) return false; // undvik swiper duplicates om möjligt if (el.classList.contains("swiper-slide-duplicate")) return false; return true; }); if (!slides.length) return; // stabil sort: behåll befintlig ordning inom varje grupp const withIndex = slides.map((el, idx) => ({ el, idx, avail: el.dataset.upzAvailable === "1" ? 1 : 0 })); withIndex.sort((a, b) => { // available först if (b.avail !== a.avail) return b.avail - a.avail; // annars behåll originalordning return a.idx - b.idx; }); // re-append i ny ordning const frag = document.createDocumentFragment(); withIndex.forEach(x => frag.appendChild(x.el)); wrapper.appendChild(frag); } // --------------------------- // Find swiper instance for wrapper and refresh it safely // --------------------------- function refreshSwiperFor(wrapper){ const swiperEl = wrapper.closest(".swiper"); const swiper = swiperEl && swiperEl.swiper ? swiperEl.swiper : null; if (!swiper) return; // Om loop är på: förstör och återskapa loop så duplicates uppdateras if (swiper.params && swiper.params.loop) { try { swiper.loopDestroy(); } catch(e){} swiper.update(); try { swiper.loopCreate(); } catch(e){} swiper.update(); } else { swiper.update(); } } // --------------------------- // Update + sort all carousels on page // --------------------------- function updateAndSortAll(root=document){ // uppdatera alla cards först (sätter data-upz-available) root.querySelectorAll(".e-loop-item").forEach(updateCard); // sortera per wrapper const wrappers = root.querySelectorAll(".swiper-wrapper"); wrappers.forEach(wrapper => { sortWrapper(wrapper); refreshSwiperFor(wrapper); }); } // Init if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", () => updateAndSortAll(document)); } else { updateAndSortAll(document); } // Re-run on park change window.addEventListener("upz:parkchange", () => updateAndSortAll(document)); // Handle loop items loaded later (swiper/filters/ajax) const mo = new MutationObserver((mutations) => { for (const m of mutations) { for (const node of m.addedNodes) { if (!(node instanceof HTMLElement)) continue; if (node.matches?.(".swiper-wrapper, .e-loop-item") || node.querySelector?.(".swiper-wrapper, .e-loop-item")) { updateAndSortAll(node); } } } }); mo.observe(document.documentElement, { childList: true, subtree: true }); })(); /* ❌ Otillgänglig */ .e-loop-item[data-upz-available="0"] img.tillg-bild, .e-loop-item[data-upz-available="0"] .tillg-bild img, .e-loop-item[data-upz-available="0"] .elementor-widget-image.tillg-bild img{ filter: grayscale(100%) !important; } /* ✅ Tillgänglig (reset) */ .e-loop-item[data-upz-available="1"] img.tillg-bild, .e-loop-item[data-upz-available="1"] .tillg-bild img, .e-loop-item[data-upz-available="1"] .elementor-widget-image.tillg-bild img{ filter: none !important; }

Safe. Safe and secure. Adventurous.

All our parks are built and certified to the highest industry standards and staffed by instructors trained through IAPA – the International Adventure Park Association. We use the world-leading CliC-iT® safety system, where the carabiners communicate with each other so you’re always securely attached, no matter how high up you climb.

Every day, our Courses, harnesses and systems are carefully checked – both visually and operationally. So that you can focus on what really counts, like the feeling of freedom, joy and adventure.

I never thought I would dare, but thanks to the instructors I felt completely safe. A magical feeling!

- Customer visit to Upzone

For those who want to experience something out of the ordinary.

Upzone is for those who want to try something new, challenge themselves and still know that you are in safe hands. Our adventures are not about being the strongest or bravest – but about daring, laughing and discovering how much you can actually do.

Whether you come with your family, company or friends, you’ll be greeted by instructors who will encourage, guide and make sure you have an experience you’ll never forget. Laughter and self-esteem grow here – high in the treetops or on the ground in our team challenges.

Frequently asked questions before your adventure

When you arrive at the park, you will be welcomed by our staff who will help you get started. We always start with a joint briefing where you get to know our safety instructions and how the equipment works.

After the briefing, you will be able to try out your equipment, such as harnesses and helmets, to ensure that everything fits correctly and feels comfortable. Our staff will also show you how the safety system works and what to look out for when moving between stations on the Courses.

Once everyone feels safe and ready, you will be given access to the Courses and can start climbing at your own pace. Throughout your visit, park staff will be on hand to help if you have any questions or need support.

Yes, children can absolutely participate in our activities. However, to ensure a safe and secure experience, children need to be accompanied by a responsible adult at all times during their visit to the park.

The adult is responsible for the child during the activity and should be available in the park at all times. This helps us to create a safe and positive experience for all participants.

Yes, all activities need to be booked in advance. You can do this easily here in our booking module where you can choose the activity, date and time that suits you.

By booking in advance, we can plan the activities in the park and ensure that everyone has a good and safe experience.

No, climbing in our parks is designed to be safe. All our parks are built and certified to the highest industry standards and staffed by instructors trained through IAPA – International Adventure Park Association.

We use the world-leading CliC-iT® safety system, where the carabiners communicate with each other so you’re always securely attached, no matter how high you climb.

Every day, our Courses, harnesses and systems are carefully checked, both visually and operationally. This allows you to focus on what really counts – the feeling of freedom, joy and adventure.

It’s actually quite common to feel a bit afraid of heights, and many people who visit us experience the same thing at first. Our parks are designed with Courses of different heights and difficulty levels, allowing you to start at a level that feels safe for you.

Our staff are always on hand to help and support if you feel unsure. You decide for yourself how high you want to climb and can take it completely at your own pace. Many people find that the feeling of completing a course despite the fear of heights is an extra cool experience.

Yes, all Upzone activities can be used as wellness and are covered by the wellness allowance.

We are also affiliated with several wellness providers, including Benifex, Benefits via Söderberg & Partners and Epassi. This means that you can easily use your wellness allowance when you book or pay for your activity with us.

4.7 / 5

Our guests say it best.

Thousands of visitors have already stepped out of their comfort zone with us. Read what they thought of their adventure!

Publicerat på Google Google
Famke Zweers profile picture
Famke Zweers
8 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
We hebben een hele leuke middag gehad. Heel vriendelijk personeel, alles wordt goed uitgelegd en het zekeringssysteem is erg makkelijk en fijn.
Publicerat på Google Google
afsane yousefi profile picture
afsane yousefi
8 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
The black one is so difficult
Publicerat på Google Google
Nicocodu68 profile picture
Nicocodu68
11 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
Super accrobranche avec chute libre
Publicerat på Google Google
Karin Parusel profile picture
Karin Parusel
14 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
Publicerat på Google Google
Henrik Persson profile picture
Henrik Persson
15 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
Publicerat på Google Google
c jensen profile picture
c jensen
20 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
Oväntat bra och roligt. Som grädde på moset så kändes säkerheten idiotsäkert. Banorna var varierande och kul att ta sig igenom. Ett starkt tips är dock att klippa i båda dina hakar på vägen upp, även om det intuitivt inte känns som att det är 100% nödvändigt. Detta uppdagades när sonen endast använde en i början av en led, klättrade upp och fann sig helt utan skydd i några ögonblick. I vilket fall var hela upplevelsen som sagt oväntat lyckad, och då hade vi ändå ganska höga förväntningar. Rekommenderas starkt.
Publicerat på Google Google
Nadjat Usman profile picture
Nadjat Usman
21 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
Publicerat på Google Google
Noushin Nadjafi profile picture
Noushin Nadjafi
22 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
+2
Fantastisk park med många olika banor! Personalen är hjälpsamma, duktiga och lyhörda!
Publicerat på Google Google
Hakan Teksen profile picture
Hakan Teksen
24 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
Publicerat på Google Google
Sevcan Guven profile picture
Sevcan Guven
24 days ago
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifierar att den ursprungliga källan till recensionen är Google.
Det var så roligt, det här måste ni uppleva!

Give away an unforgettable adventure.

An Upzone gift card is the perfect gift for the person who already has everything – except the tingle in their stomach.

Our gift vouchers are valid in all parks and give the recipient the freedom to choose their own exciting experience.

Swap your gym card for fresh air.

Did you know that you can use your wellness allowance at Upzone?

Our activities provide pulse, movement and joy – just as exercise should be. Climb, balance and challenge your body in a new way, in the middle of nature.

Choose your park

From Ängelholm to Stockholm – adventure is never far away. Select your park to see address details, contact details and more information.

document.addEventListener('DOMContentLoaded', function () { const wrap = document.querySelector('.uz-park-buttons'); if (!wrap || wrap.dataset.parkSelectBound === '1') return; wrap.dataset.parkSelectBound = '1'; const buttons = Array.from(wrap.querySelectorAll('.uz-park-btn[data-park]')); if (!buttons.length) return; const LS_KEY = (window.UPZ_BOOKING && window.UPZ_BOOKING.lsKey) ? window.UPZ_BOOKING.lsKey : 'selected_park'; const getSavedPark = () => { try { return (localStorage.getItem(LS_KEY) || '').trim(); } catch (e) { return ''; } }; const selectWrap = document.createElement('div'); selectWrap.className = 'uz-park-select-wrap'; const select = document.createElement('select'); select.className = 'uz-park-select'; select.setAttribute('aria-label', 'Välj park'); const placeholder = document.createElement('option'); placeholder.value = ''; placeholder.textContent = 'Välj park..'; select.appendChild(placeholder); buttons.forEach((btn) => { const opt = document.createElement('option'); opt.value = btn.dataset.park || ''; opt.textContent = (btn.textContent || '').trim(); select.appendChild(opt); }); function hasOption(v) { return !!buttons.find((b) => (b.dataset.park || '') === v); } function setPlaceholderMode(show) { select.classList.toggle('is-placeholder', show); placeholder.hidden = !show; } function syncFromState() { const saved = getSavedPark(); if (saved && hasOption(saved)) { select.value = saved; setPlaceholderMode(false); return; } const active = wrap.querySelector('.uz-park-btn.is-active[data-park]'); const activeVal = active ? (active.dataset.park || '') : ''; if (activeVal && hasOption(activeVal)) { select.value = activeVal; setPlaceholderMode(false); return; } select.value = ''; setPlaceholderMode(true); } select.addEventListener('change', function () { const val = String(select.value || '').trim(); if (!val) { setPlaceholderMode(true); return; } setPlaceholderMode(false); const target = buttons.find((b) => (b.dataset.park || '') === val); if (target) target.click(); // behåller befintlig park-logik + localStorage sync }); wrap.addEventListener('click', function (e) { const btn = e.target.closest('.uz-park-btn[data-park]'); if (!btn) return; const v = String(btn.dataset.park || ''); if (!v) return; select.value = v; setPlaceholderMode(false); }); window.addEventListener('upz:park-change', function (e) { const v = String((e && e.detail && e.detail.park) || '').trim(); if (v && hasOption(v)) { select.value = v; setPlaceholderMode(false); } }); window.addEventListener('storage', function (e) { if (e.key !== LS_KEY) return; syncFromState(); }); selectWrap.appendChild(select); wrap.insertAdjacentElement('afterend', selectWrap); syncFromState(); });

Delsjön, Skatås Exercise Center

The park is located in the Skatås exercise center area. If you are parked or on foot, pass the Skatås exercise center and continue towards the ski club. Keep right at the first turn after passing the ski club and continue in the direction of the road until you see gravel courts (volleyball courts).

Walk past the gravel pitches and keep them on your left while walking towards the forest where you will eventually see our UPZONE signs. From the parking lot it is about 650m and takes about 10 minutes to walk. You will find the check-in in our container where we then walk together up to our Highropecourse in the forest.

.cls-1 { mask: url(#mask); } .cls-2 { filter: url(#luminosity-noclip); } .cls-3 { filter: url(#luminosity-noclip-13); } .cls-4 { filter: url(#luminosity-noclip-11); } .cls-5 { filter: url(#luminosity-noclip-15); } .cls-6 { filter: url(#luminosity-noclip-3); } .cls-7 { filter: url(#luminosity-noclip-9); } .cls-8 { filter: url(#luminosity-noclip-7); } .cls-9 { filter: url(#luminosity-noclip-5); } .cls-10 { fill: url(#radial-gradient); } .cls-10, .cls-11, .cls-12, .cls-13, .cls-14, .cls-15, .cls-16, .cls-17, .cls-18 { mix-blend-mode: multiply; } .cls-19 { fill: #566d61; stroke: #fff; stroke-miterlimit: 10; } .cls-20 { isolation: isolate; } .cls-21 { mask: url(#mask-2); } .cls-22 { mask: url(#mask-3); } .cls-23 { mask: url(#mask-4); } .cls-24 { mask: url(#mask-5); } .cls-25 { mask: url(#mask-7); } .cls-26 { mask: url(#mask-6); } .cls-27 { mask: url(#mask-1); } .cls-28 { mask: url(#mask-9); } .cls-29 { mask: url(#mask-8); } .cls-12 { fill: url(#radial-gradient-8); } .cls-13 { fill: url(#radial-gradient-3); } .cls-14 { fill: url(#radial-gradient-2); } .cls-15 { fill: url(#radial-gradient-7); } .cls-16 { fill: url(#radial-gradient-5); } .cls-17 { fill: url(#radial-gradient-6); } .cls-18 { fill: url(#radial-gradient-4); } .cls-30 { mask: url(#mask-10); } .cls-31 { mask: url(#mask-14); } .cls-32 { mask: url(#mask-11); } .cls-33 { mask: url(#mask-13); } .cls-34 { mask: url(#mask-12); } .cls-35 { mask: url(#mask-15); }

From a dream to thousands of adventures.

When Tamara started the first Upzone park in Borås in 2009, her dream was to create something bigger than just climbing – a place where people grow through experiences.

Today, we are present all over Sweden and continue to spread courage, joy and community among the treetops. With us, adventure is not about performance, but about the feeling of daring.

"I dream of seeing people develop and become braver!"

- Tamara, founder of Upzone