Your own ride
All repairs included
Available right away
Cancel anytime
.swapfiets-benefits{
max-width:1300px;
margin:30px auto;
padding:0 16px 30px; /* ✅ added 40px bottom padding */
}
.swapfiets-benefits__row{
display:flex;
justify-content:space-between;
gap:24px;
}
.swapfiets-benefits__item{
flex:1;
text-align:center;
transition:transform .35s ease;
}
.swapfiets-benefits__icon{
width:48px;
height:48px;
margin:0 auto 10px;
object-fit:contain;
}
.swapfiets-benefits__item p{
margin:0;
font-size:16px;
line-height:1.4;
}
/* ✅ MOBILE SMOOTH CAROUSEL */
@media (max-width:640px){
.swapfiets-benefits__row{
flex-wrap:nowrap;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
scroll-snap-type:x mandatory;
scroll-behavior:smooth;
overscroll-behavior-x:contain;
scroll-padding-left:16px;
gap:12px;
padding-bottom:8px;
}
.swapfiets-benefits__row::-webkit-scrollbar{
display:none;
}
.swapfiets-benefits__item{
flex:0 0 36%;
min-width:110px;
scroll-snap-align:center;
scroll-snap-stop:always;
border-radius:16px;
padding:14px 10px;
}
.swapfiets-benefits__item p{
font-size:15px;
}
}
Exclusive Corporate Benefits deal
:root{
–sf-blue:#00aae0;
–sf-text:#111827;
–sf-muted:#6b7280;
–sf-border:#e5e7eb;
–sf-divider:#eef2f7;
–sf-radius:16px;
–sf-ribbon:#6ee7a8;
–sf-ribbon-text:#0f172a;
}
.swapfiets-usps .swapfiets-usps__heading{
text-align:center;
margin:0 0 12px;
}
.swapfiets-usps .sf-intro{
max-width:720px;
margin:0 auto 24px;
text-align:center;
}
.swapfiets-usps .sf-intro p{
margin:0;
font-size:16px;
line-height:1.6;
color:var(–sf-text);
}
.swapfiets-usps .sf-intro p + p{
margin-top:6px;
}
.swapfiets-usps .sf-intro .sf-intro-note{
font-style:italic;
color:var(–sf-muted);
}
.swapfiets-usps .sf-wrap{
max-width:1200px;
width:100%;
margin:0 auto;
padding:26px 0 40px;
box-sizing:border-box;
}
.swapfiets-usps a:after{
content:none !important;
display:none !important;
}
.swapfiets-usps .sf-wrap input[type=”radio”]{
position:absolute!important;
opacity:0!important;
pointer-events:none!important;
width:0!important;
height:0!important;
appearance:none!important;
display:none!important;
}
.swapfiets-usps .sf-tabs{
display:flex;
justify-content:center;
margin:0 0 18px;
}
.swapfiets-usps .sf-tabbar{
display:inline-flex;
background:#f3f4f6;
border:1px solid var(–sf-border);
border-radius:999px;
padding:4px;
gap:4px;
}
.swapfiets-usps .sf-tab{
height:40px;
padding:0 16px;
border-radius:999px;
font-size:16px;
font-weight:700;
color:var(–sf-muted);
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:.15s ease;
user-select:none;
white-space:nowrap;
}
.swapfiets-usps #sf-tab-all:checked ~ .sf-tabs .sf-tab[for=”sf-tab-all”],
.swapfiets-usps #sf-tab-ebikes:checked ~ .sf-tabs .sf-tab[for=”sf-tab-ebikes”],
.swapfiets-usps #sf-tab-pedal:checked ~ .sf-tabs .sf-tab[for=”sf-tab-pedal”]{
background:#fff;
color:var(–sf-text);
box-shadow:0 1px 2px rgba(16,24,40,.08);
}
.swapfiets-usps .sf-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0,1fr));
gap:24px;
align-items:stretch;
}
.swapfiets-usps .sf-bike{
position:relative;
display:block;
overflow:visible;
}
.swapfiets-usps .sf-card{
position:relative;
border:1px solid var(–sf-border);
border-radius:var(–sf-radius);
background:#fff;
padding:16px 14px 18px;
text-align:center;
display:flex;
flex-direction:column;
height:100%;
box-sizing:border-box;
overflow:hidden;
}
.swapfiets-usps .sf-card–featured{
border:1px solid var(–sf-blue);
box-shadow:0 10px 28px rgba(0,170,224,.14);
transform:translateY(-2px);
}
.swapfiets-usps .sf-badge{
position:absolute;
top:-11px;
left:50%;
transform:translateX(-50%);
background:var(–sf-blue);
color:#fff;
font-size:13px;
font-weight:800;
line-height:1;
padding:7px 14px;
border-radius:999px;
z-index:50;
white-space:nowrap;
box-shadow:0 6px 14px rgba(0,170,224,.20);
pointer-events:none;
}
.swapfiets-usps .sf-visual{
position:relative;
margin:0 0 10px;
padding-top:10px;
min-height:170px;
}
.swapfiets-usps .sf-img{
margin:0 auto;
width:260px;
max-width:100%;
height:auto;
display:block;
position:relative;
z-index:3;
}
.swapfiets-usps .sf-ribbon{
position:absolute;
top:18px;
right:-42px;
width:150px;
height:32px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(180deg,#7df0b7,#60dca0);
color:var(–sf-ribbon-text);
font-size:12px;
font-weight:800;
letter-spacing:.02em;
transform:rotate(40deg);
box-shadow:0 8px 18px rgba(16,24,40,.16), 0 2px 6px rgba(16,24,40,.08);
z-index:2;
}
.swapfiets-usps .sf-kicker{
font-size:17px;
color:var(–sf-muted);
margin-bottom:6px;
}
.swapfiets-usps .sf-title{
font-size:23px;
font-weight:900;
margin-bottom:8px;
color:var(–sf-text);
}
.swapfiets-usps .sf-desc{
font-size:16px;
color:var(–sf-muted);
margin-bottom:12px;
min-height:44px;
}
.swapfiets-usps .sf-rule{
border-top:1px solid var(–sf-divider);
margin:12px 0;
}
.swapfiets-usps .sf-price,
.swapfiets-usps .sf-price *{
display:block !important;
visibility:visible !important;
opacity:1 !important;
height:auto !important;
max-height:none !important;
overflow:visible !important;
font-size:inherit !important;
line-height:inherit !important;
}
.swapfiets-usps .sf-price{
margin:0 0 14px !important;
padding:0 !important;
}
.swapfiets-usps .sf-old{
text-decoration:line-through;
color:#9ca3af;
font-size:15px !important;
margin-bottom:2px;
}
.swapfiets-usps .sf-new{
display:flex !important;
align-items:baseline;
justify-content:center;
gap:6px;
}
.swapfiets-usps .sf-new strong{
font-size:24px !important;
font-weight:900;
color:var(–sf-text);
display:inline !important;
}
.swapfiets-usps .sf-new span{
font-size:15px !important;
color:var(–sf-muted);
display:inline !important;
}
.swapfiets-usps .sf-feats{
border-top:1px solid var(–sf-divider);
margin-top:8px;
}
.swapfiets-usps .sf-feat{
padding:10px 0;
border-bottom:1px solid var(–sf-divider);
font-size:15px;
}
.swapfiets-usps .sf-feat:last-child{
border-bottom:0;
}
.swapfiets-usps .sf-cta{
display:flex;
justify-content:center;
margin-top:auto;
padding-top:14px;
}
.swapfiets-usps .sf-btn{
display:inline-flex !important;
align-items:center;
justify-content:center;
width:100%;
max-width:210px;
height:52px;
border:2px solid var(–sf-blue);
border-radius:999px;
background:#fff;
color:var(–sf-blue);
font-size:18px;
font-weight:900;
text-decoration:none;
transition:.12s ease;
}
.swapfiets-usps .sf-btn:hover{
background:#e6f7fd;
}
.swapfiets-usps #sf-tab-ebikes:checked ~ .sf-grid .sf-bike–pedal{display:none;}
.swapfiets-usps #sf-tab-pedal:checked ~ .sf-grid .sf-bike–ebike{display:none;}
@media (max-width:1024px){
.swapfiets-usps .sf-grid{
grid-template-columns:repeat(2, minmax(0,1fr));
}
.swapfiets-usps .sf-card–featured{
transform:none;
}
}
@media (max-width:720px){
.swapfiets-usps .sf-grid{
grid-template-columns:1fr;
}
.swapfiets-usps .sf-ribbon{
top:16px;
right:-40px;
width:142px;
height:30px;
font-size:11px;
}
.swapfiets-usps .sf-badge{
top:-10px;
font-size:12px;
padding:6px 12px;
}
.swapfiets-usps .sf-intro{
margin-bottom:20px;
}
}
Get up to 20% off every month on your all-inclusive bike subscription with Swapfiets.
Only if you do not currently ride a Swapfiets.
All bikes
E-Bikes
Pedal bikes
Most popular
20% OFF
⚡ Power 7
Powerful e-Bike
More comfort and performance for longer rides.
€74,90
From: €54,92 / month
7 gears
Hand + back pedal brakes
Front + back light
Ring + chain lock
Max range up to 185 km
20% OFF
⚡ Power 1
Easy e-Bike
Simple and intuitive for everyday rides.
€69,90
From: €51,92 / month
Single speed
Hand + back pedal brakes
Front + back light
Ring + chain lock
Max range up to 120 km
20% OFF
Deluxe
Comfort pedal bike
Smooth ride with extra comfort for daily use.
€19,90
From: €17,90 / month
7 gears
Hand + back pedal brakes
Front + back light
Ring + chain lock
–
20% OFF
Original
Classic city bike
Simple and reliable for city rides.
€16,90
From: €14,90 / month
Single speed
Hand + back pedal brakes
Front + back light
Ring + chain lock
–
All-inclusive bike subscription
Fast repair service.
Free repairs & maintenance. Repaired in-store within 10 minutes or immediate replacement.
Everything included.
Non-slip tires, integrated double lock, LED lights compliant with StVZO regulations.
Stay flexible.
No long-term commitment, easy to cancel with fast service and simple model switching.
.swapfiets-usps{
max-width:1200px;
margin:30px auto;
padding:0 16px 40px;
}
.swapfiets-usps__heading{
text-align:center;
margin:0 0 32px;
font-size:34px;
line-height:1.2;
}
.swapfiets-usps__row{
display:flex;
flex-wrap:nowrap;
gap:28px;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
/* card */
.swapfiets-usps__card{
flex:0 0 calc((100% – 56px) / 3);
background:#fff;
border-radius:16px;
padding:0 24px 24px;
text-align:center;
min-width:260px;
}
/* image container aligned with text width */
.swapfiets-usps__image{
width:100%;
height:220px;
margin:0 0 16px;
overflow:hidden;
border-radius:16px;
}
/* image fits container */
.swapfiets-usps__image img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.swapfiets-usps__card h3{
margin:0 0 10px;
font-size:23px;
}
.swapfiets-usps__card p{
margin:0;
font-size:18px;
line-height:1.6;
}
/* mobile */
@media (max-width:480px){
.swapfiets-usps__heading{
font-size:24px;
margin-bottom:18px;
}
.swapfiets-usps__card{
border:none; /* removed border on mobile */
border-radius:14px;
padding:0 16px 18px;
}
.swapfiets-usps__image{
height:150px;
border-radius:14px;
}
.swapfiets-usps__card h3{
font-size:18px;
margin-bottom:6px;
}
.swapfiets-usps__card p{
font-size:16px;
line-height:1.55;
}
}
Satisfied customer for years
Verified rider
“Swapfiets offers the best possible solution for my needs. For my daily eight-kilometre commute, I need a bike that works and is safe to ride, and thanks to Swapfiets, that’s exactly what I have. As soon as something stops working, Swapfiets takes care of it immediately. All repair costs are included in the rental price. Even when my bike was stolen, I got a replacement immediately. The quality of the bikes isn’t for connoisseurs, but it’s definitely good enough for city traffic.”
280,000+ happy riders
G
★
★
★
★
★
4.3
based on 419 reviews
See bikes →
.swapfiets-review-split{
max-width:1200px;
margin:40px auto;
padding:0 16px 60px;
}
/* remove WP arrow */
.swapfiets-review-split a:after{
content:none !important;
display:none !important;
}
.srs-wrap{
display:grid;
grid-template-columns:1fr 1fr;
border-radius:26px;
overflow:hidden;
border:1px solid #e5e7eb;
background:#fff;
}
/* left */
.srs-left{
background:#f3f4f6;
padding:34px 32px;
display:flex;
align-items:center;
justify-content:center;
}
.srs-reviewCard{
max-width:420px;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
gap:16px;
}
.srs-avatar{
width:140px;
height:140px;
border-radius:999px;
object-fit:cover;
border:6px solid #fff;
box-shadow:0 14px 40px rgba(16,24,40,.12);
}
.srs-name{
font-weight:800;
font-size:18px;
}
.srs-city{
font-size:14px;
color:#6b7280;
}
.srs-quote{
margin:10px 0 0;
font-size:16px;
line-height:1.6;
}
/* right */
.srs-right{
padding:34px 32px;
display:flex;
align-items:center;
justify-content:center;
}
.srs-rightInner{
max-width:430px;
width:100%;
}
.srs-title{
margin:0 0 14px;
font-size:40px;
line-height:1.05;
}
/* rating */
.srs-rating{
display:flex;
align-items:center;
gap:10px;
margin-bottom:18px;
}
.srs-gMark{
width:22px;
height:22px;
border-radius:6px;
display:flex;
align-items:center;
justify-content:center;
font-weight:900;
font-size:14px;
background:#fff;
border:1px solid #e5e7eb;
}
.srs-stars{display:flex;gap:2px;}
.srs-star–full{color:#f59e0b;}
.srs-star–empty{color:#d1d5db;}
.srs-ratingText{
font-size:13px;
color:#6b7280;
display:flex;
gap:8px;
}
/* button */
.srs-cta{
display:inline-flex;
align-items:center;
gap:10px;
padding:16px 28px;
border-radius:999px;
background:#00aae0;
color:#fff;
font-weight:800;
text-decoration:none;
width:180px;
border:2px solid #00aae0;
transition:.18s ease;
}
.srs-cta:hover{
background:#fff;
color:#00aae0;
}
.srs-arrow{
transition:transform .18s ease;
}
.srs-cta:hover .srs-arrow{
transform:translateX(3px);
}
/* mobile */
@media (max-width:820px){
.srs-wrap{grid-template-columns:1fr;}
.srs-title{font-size:30px;}
}
Is Swapfiets worth it?
See what’s included in your bike subscription.
.swapfiets-compare{
max-width:1200px;
margin:60px auto 60px; /* bottom margin desktop */
padding:0;
text-align:center;
}
.swapfiets-compare__title{
margin:0 0 8px;
font-size:40px;
line-height:1.1;
}
.swapfiets-compare__subtitle{
margin:0 0 28px;
font-size:18px;
color:#555;
line-height:1.4;
}
.swapfiets-compare__image-wrap{
width:100%;
text-align:center;
}
/* center picture element */
.swapfiets-compare__picture{
display:inline-block;
width:90%;
}
.swapfiets-compare__image{
display:block;
width:100%;
height:auto;
border:1px solid #e5e7eb;
border-radius:8px;
}
/* mobile */
@media (max-width:768px){
.swapfiets-compare{
margin:40px auto 16px; /* bottom margin mobile */
}
.swapfiets-compare__title{
font-size:28px;
}
.swapfiets-compare__subtitle{
font-size:16px;
margin-bottom:20px;
}
.swapfiets-compare__picture{
width:100%;
}
.swapfiets-compare__image{
border:none;
}
}
Start your journey
1
Choose your bike
Select your bike and subscribe. Pick up your bike in one of our stores or have it delivered right to your doorstep.
2
Get your bike
We’ll tailor the bike to your needs and explain everything. You can also add extras like Full Theft Coverage or a
basket in-store to customize your ride.
3
Enjoy the ride
Start your worry-free ride. We’re always there to help you out along the way. In-store, or right at your doorstep.
See bikes
.swapfiets-steps{
max-width:1200px;
margin:40px auto;
padding:0 16px 60px; /* ✅ bottom padding 60px */
}
/* 🔥 REMOVE WORDPRESS AUTO ARROW */
.swapfiets-steps a:after{
content:none !important;
display:none !important;
}
/* 🔥 FORCE WP LINK COLOR */
.swapfiets-steps a{
color:#00aae0 !important;
}
.swapfiets-steps a:hover{
color:#00aae0 !important;
}
.swapfiets-steps__heading{
font-size:36px;
margin:0 0 24px;
}
.swapfiets-steps__row{
display:flex;
gap:24px;
flex-wrap:nowrap;
overflow-x:auto;
}
.swapfiets-steps__card{
flex:0 0 calc((100% – 48px) / 3);
background:#f3f4f6;
border-radius:18px;
padding:28px;
min-width:260px;
}
.swapfiets-steps__number{
width:44px;
height:44px;
border-radius:999px;
border:3px solid #1996c7;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
margin-bottom:14px;
}
.swapfiets-steps__card h3{
margin:0 0 10px;
font-size:28px;
}
.swapfiets-steps__card p{
margin:0 0 20px;
font-size:18px;
line-height:1.6;
}
/* 🔥 SWAPFIETS BLUE OUTLINE BUTTON (same as bike buttons) */
.swapfiets-steps__cta{
display:flex;
align-items:center;
justify-content:center;
width:100%;
max-width:200px;
height:48px;
border-radius:999px;
border:2px solid #00aae0;
background:#ffffff;
color:#00aae0 !important;
font-weight:800;
font-size:18px;
text-decoration:none;
transition:all .18s ease;
}
.swapfiets-steps__cta:hover{
background:#e6f7fd;
border-color:#00aae0;
}
/* compressed mobile */
@media (max-width:480px){
.swapfiets-steps__heading{
font-size:26px;
}
.swapfiets-steps__card{
padding:18px;
border-radius:14px;
}
.swapfiets-steps__card h3{
font-size:20px;
}
.swapfiets-steps__card p{
font-size:15px;
}
.swapfiets-steps__number{
width:36px;
height:36px;
font-size:14px;
}
.swapfiets-steps__cta{
font-size:16px;
height:44px;
}
}
How your discount works
Clear rules per subscription type. Simple.
Subscription type chosen
Power 7 & Deluxe
Power 1 & Original
After month 12
Flexible subscription
20% discount on flexible price (months 1–12)
15% discount on flexible price (months 1–12)
Regular flexible price
6-month subscription
First 6 months: 20% discount on 6-month pricing
Months 7–12: 20% discount on flexible price
First 6 months: 15% discount on 6-month price
Months 7–12: 15% discount on flexible price
Regular flexible price
12-month subscription
20% discount on 12-month price (months 1–12)
15% discount on 12-month price (months 1–12)
Regular flexible price
.swapfiets-pricing-table{
max-width:1200px;
margin:34px auto;
padding:0 16px 40px;
color:#111827;
}
/* remove WP arrow */
.swapfiets-pricing-table a:after{
content:none !important;
display:none !important;
}
.spt-wrap{max-width:1200px;margin:0 auto;}
.spt-title{
margin:0 0 6px;
font-size:34px;
line-height:1.1;
letter-spacing:-0.02em;
}
.spt-subtitle{
margin:0 0 18px;
font-size:16px;
color:#6b7280;
}
/* less border radius, like your screenshot */
.spt-card{
border:1px solid #e5e7eb;
border-radius:12px;
overflow:hidden;
background:#fff;
}
.spt-table{
width:100%;
border-collapse:separate;
border-spacing:0;
}
.spt-table thead th{
background:#ffffff;
text-align:center;
font-size:16px;
font-weight:900;
padding:18px 16px;
border-bottom:1px solid #e5e7eb;
border-right:1px solid #e5e7eb;
}
.spt-table thead th:first-child{
text-align:left;
}
.spt-table thead th:last-child{
border-right:0;
}
.spt-table tbody td{
padding:18px 16px;
vertical-align:top;
font-size:16px;
line-height:1.55;
border-bottom:1px solid #e5e7eb;
border-right:1px solid #e5e7eb;
}
.spt-table tbody tr:last-child td{
border-bottom:0;
}
.spt-table tbody td:last-child{
border-right:0;
}
.spt-strong{
font-weight:900;
}
.spt-lines{
display:flex;
flex-direction:column;
gap:10px;
}
.spt-footnote{
margin:12px 0 0;
font-size:13px;
color:#6b7280;
}
/* mobile scroll */
@media (max-width:900px){
.spt-title{font-size:26px;}
.spt-card{overflow:auto;}
.spt-table{min-width:980px;}
}