READY WHEN YOU ARE
Ready to plan the journey?
Search available flights and compare fares when you are ready to put this guide into action.
Search flights[ { "@context": "https://schema.org", "@type": "Article", "headline": "How to Avoid Hidden Charges When Booking Flights in Nigeria (2025 Guide)", "description": "Discover the 8 most common hidden charges on Nigerian flight bookings and exactly how to avoid them. Save thousands of naira on your next domestic or international flight.", "datePublished": "2025-06-23", "dateModified": "2025-06-23", "author": { "@type": "Organization", "name": "Tbils Travel", "url": "https://tbils.com" }, "publisher": { "@type": "Organization", "name": "Tbils Travel Blog", "url": "https://blog.tbils.com", "logo": { "@type": "ImageObject", "url": "https://blog.tbils.com/wp-content/uploads/tbils-logo.png" } }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https://blog.tbils.com/avoid-hidden-charges-booking-flights-nigeria" }, "keywords": ["hidden charges flight booking Nigeria","flight booking fees Nigeria","how to avoid extra charges flights","cheap flights Nigeria no hidden fees","airline hidden costs Nigeria","Tbils.com"], "about": { "@type": "Country", "name": "Nigeria", "sameAs": "https://www.wikidata.org/wiki/Q1033" } }, { "@context": "https://schema.org", "@type": "HowTo", "name": "How to Avoid Hidden Charges When Booking Flights in Nigeria", "description": "A step-by-step guide to identifying and avoiding hidden fees and surcharges on Nigerian domestic and international flight bookings.", "totalTime": "PT5M", "step": [ { "@type": "HowToStep", "position": 1, "name": "Always check the total price, not just the headline fare", "text": "Never judge a flight by the base fare shown in search results. Always click through to see the full breakdown including taxes, surcharges, and fees before comparing." }, { "@type": "HowToStep", "position": 2, "name": "Clarify baggage allowance before selecting a fare", "text": "Check exactly what baggage is included — many cheap fares are hand luggage only. Adding a checked bag post-booking costs significantly more than selecting the right fare upfront." }, { "@type": "HowToStep", "position": 3, "name": "Opt out of auto-added extras during checkout", "text": "Watch for pre-ticked boxes during checkout — seat selection fees, travel insurance, and car hire are commonly auto-added. Uncheck anything you didn't deliberately choose." }, { "@type": "HowToStep", "position": 4, "name": "Use a fee-free payment method", "text": "Some Nigerian OTAs charge a card processing fee of 1.5–3% on debit or credit card payments. Check if bank transfer or USSD payment avoids this surcharge." }, { "@type": "HowToStep", "position": 5, "name": "Book directly or on a transparent comparison platform", "text": "Use Tbils.com to compare total prices across all airlines with no hidden agent markup. If booking direct with an airline, confirm the price shown includes all mandatory fees before entering card details." }, { "@type": "HowToStep", "position": 6, "name": "Read the fare conditions before confirming", "text": "Check the cancellation and change fee policy. A cheap fare with a ₦20,000 change fee is not cheap if your plans might shift. Factor this into your total cost of travel." } ] }, { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What are common hidden charges when booking flights in Nigeria?", "acceptedAnswer": { "@type": "Answer", "text": "Common hidden charges on Nigerian flight bookings include: baggage fees (when base fare is hand luggage only), card payment surcharges (1.5–3%), seat selection fees, booking/service fees from OTAs or travel agents, fuel surcharges on international flights, travel insurance auto-added at checkout, airport taxes not shown in headline fare, and flight change or cancellation penalties." } }, { "@type": "Question", "name": "How much are hidden flight booking fees in Nigeria?", "acceptedAnswer": { "@type": "Answer", "text": "Hidden fees on Nigerian flight bookings can add ₦3,000 to ₦25,000 to your total cost. Common charges include: baggage fees (₦5,000–₦15,000), card processing fees (1.5–3% of fare), seat selection (₦1,000–₦5,000), and OTA service fees (₦2,000–₦10,000). Always check the total price before booking." } }, { "@type": "Question", "name": "Which Nigerian airline has the least hidden fees?", "acceptedAnswer": { "@type": "Answer", "text": "Ibom Air is widely regarded as having the most transparent pricing among Nigerian domestic carriers, with clearly disclosed baggage policies and fewer add-on surprises. Air Peace and United Nigeria also have relatively straightforward domestic fare structures. Always verify total price on Tbils.com before booking." } }, { "@type": "Question", "name": "Is it cheaper to add baggage at booking or at the airport in Nigeria?", "acceptedAnswer": { "@type": "Answer", "text": "Adding checked baggage at the time of booking is almost always cheaper than adding it at the airport in Nigeria. Airport baggage fees are typically 30–50% higher than pre-booked baggage. Add baggage when booking your flight or via the airline's website before check-in." } }, { "@type": "Question", "name": "Do Nigerian airlines charge for seat selection?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, most Nigerian airlines offer free random seat assignment but charge ₦1,000–₦5,000 for specific seat selection (window, aisle, emergency exit, or front rows). You can avoid this by accepting the free random assignment and selecting a seat during free online check-in 24 hours before departure." } }, { "@type": "Question", "name": "How do I avoid card payment fees when booking Nigerian flights?", "acceptedAnswer": { "@type": "Answer", "text": "To avoid card payment surcharges when booking Nigerian flights, pay via bank transfer (NEFT) or USSD instead of debit card where the option is available. Some platforms also waive the card fee for Verve cards compared to Mastercard or Visa. Check the payment page before confirming." } } ] }, { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://blog.tbils.com" }, { "@type": "ListItem", "position": 2, "name": "Nigeria Travel Tips", "item": "https://blog.tbils.com/nigeria-travel" }, { "@type": "ListItem", "position": 3, "name": "Avoid Hidden Charges Booking Flights", "item": "https://blog.tbils.com/avoid-hidden-charges-booking-flights-nigeria" } ] }]/* ── TOKENS ── */:root { --danger: #DC2626; --danger-l: #FCA5A5; --danger-bg:#FEF2F2; --safe: #16A34A; --safe-l: #86EFAC; --safe-bg: #F0FDF4; --navy: #0F172A; --navy-m: #1E293B; --amber: #D97706; --amber-bg: #FFFBEB; --muted: #64748B; --border: #E2E8F0; --ivory: #FEFEFE; --white: #FFFFFF; --gold: #F59E0B;}*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }.hc-blog { font-family: 'Space Grotesk', -apple-system, sans-serif; color: var(--navy); background: var(--ivory); line-height: 1.7; overflow-x: hidden;}/* ── BREADCRUMB ── */.hc-crumb { background: var(--white); padding: 11px 24px; font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--border);}.hc-crumb a { color: var(--safe); text-decoration: none; }.hc-crumb a:hover { text-decoration: underline; }.hc-crumb span { margin: 0 7px; color: #CBD5E1; }/* ════════════════════════════════ HERO════════════════════════════════ */.hc-hero { background: var(--navy); padding: 56px 24px 0; position: relative; overflow: hidden;}.hc-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 10% 50%, rgba(220,38,38,0.12) 0%, transparent 55%), radial-gradient(ellipse at 90% 20%, rgba(22,163,74,0.08) 0%, transparent 55%); pointer-events: none;}.hc-hero-inner { max-width: 900px; margin: 0 auto; position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 340px; gap: 48px; align-items: center; padding-bottom: 52px;}.hc-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(220,38,38,0.15); border: 1px solid rgba(220,38,38,0.35); color: #FCA5A5; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 6px 14px; border-radius: 4px; margin-bottom: 20px;}.hc-eyebrow::before { content: '⚠'; }.hc-hero h1 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(26px, 5vw, 50px); font-weight: 700; color: #fff; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 18px;}.hc-hero h1 .hl-red { color: #FCA5A5; }.hc-hero h1 .hl-green { color: #86EFAC; }.hc-hero-sub { color: rgba(255,255,255,0.58); font-size: clamp(14px, 2vw, 17px); max-width: 480px; line-height: 1.65; margin-bottom: 28px;}.hero-saving-pill { display: inline-flex; align-items: center; gap: 10px; background: rgba(22,163,74,0.15); border: 1px solid rgba(22,163,74,0.3); border-radius: 50px; padding: 10px 20px; font-size: 14px; color: #86EFAC; font-weight: 600;}.hero-saving-pill strong { font-size: 18px; color: #fff; }/* ── ANIMATED RECEIPT (signature) ── */.receipt-wrap { position: relative;}.receipt { background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 4px 16px rgba(0,0,0,0.2); overflow: hidden; font-family: 'Space Grotesk', sans-serif; font-size: 13px;}.receipt-head { background: var(--navy-m); padding: 14px 18px; display: flex; align-items: center; justify-content: space-between;}.rh-airline { font-weight: 700; font-size: 13px; color: rgba(255,255,255,0.9); }.rh-route { font-size: 12px; color: rgba(255,255,255,0.5); }.rh-status { font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 20px; letter-spacing: 0.5px;}.st-before { background: rgba(220,38,38,0.2); color: #FCA5A5; }.st-after { background: rgba(22,163,74,0.2); color: #86EFAC; }.receipt-body { padding: 14px 18px; }.r-line { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; border-bottom: 1px dashed #f0f0f0;}.r-line:last-child { border-bottom: none; }.r-line .rl-label { color: #374151; font-size: 13px; }.r-line .rl-amt { font-weight: 700; font-size: 13px; }.r-line .rl-amt.base { color: var(--navy); }.r-line .rl-amt.hidden-fee { color: var(--danger); position: relative;}.r-line .rl-amt.hidden-fee::before { content: '!'; position: absolute; left: -18px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; background: var(--danger); color: #fff; font-size: 9px; font-weight: 900; display: flex; align-items: center; justify-content: center; line-height: 1;}.hidden-row { opacity: 0; transform: translateX(10px); transition: opacity 0.4s ease, transform 0.4s ease;}.hidden-row.revealed { opacity: 1; transform: translateX(0); }.r-total { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; background: #F8F9FA; border-top: 2px solid var(--border);}.rt-label { font-weight: 700; font-size: 14px; color: var(--navy); }.rt-amt { font-weight: 700; font-size: 18px; color: var(--navy); transition: color 0.3s; }.rt-amt.inflated { color: var(--danger); }.rt-amt.saved { color: var(--safe); }.receipt-footer { background: rgba(220,38,38,0.06); border-top: 1px solid rgba(220,38,38,0.15); padding: 10px 18px; text-align: center; font-size: 11px; font-weight: 700; color: var(--danger); letter-spacing: 0.5px; transition: background 0.3s, color 0.3s;}.receipt-footer.safe-footer { background: rgba(22,163,74,0.06); border-color: rgba(22,163,74,0.15); color: var(--safe);}/* Replay button */.receipt-replay { text-align: center; margin-top: 10px;}.replay-btn { background: transparent; border: 1px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.5); font-size: 11px; font-weight: 600; padding: 5px 14px; border-radius: 20px; cursor: pointer; font-family: 'Space Grotesk', sans-serif; transition: color 0.2s, border-color 0.2s;}.replay-btn:hover { color: rgba(255,255,255,0.9); border-color: rgba(255,255,255,0.4); }/* Mobile hero */@media (max-width: 720px) { .hc-hero-inner { grid-template-columns: 1fr; padding-bottom: 36px; } .receipt-wrap { max-width: 340px; margin: 0 auto; }}/* ════════════════════════════════ CONTENT════════════════════════════════ */.hc-content { max-width: 860px; margin: 0 auto; padding: 52px 24px 80px;}/* ── META ── */.hc-meta { display: flex; align-items: center; gap: 14px; padding: 14px 20px; background: var(--white); border-radius: 10px; border: 1px solid var(--border); margin-bottom: 36px;}.hc-avatar { width: 42px; height: 42px; background: linear-gradient(135deg, var(--navy), var(--danger)); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0;}.hc-meta .mn { font-weight: 700; font-size: 14px; color: var(--navy); }.hc-meta .md { font-size: 12px; color: var(--muted); margin-top: 2px; }.hc-reading { margin-left: auto; font-size: 12px; color: var(--muted); background: #F1F5F9; padding: 5px 13px; border-radius: 20px; white-space: nowrap;}/* ── QUICK ANSWER ── */.hc-qa { border-left: 5px solid var(--danger); background: var(--danger-bg); border-radius: 0 12px 12px 0; padding: 22px 28px; margin-bottom: 50px;}.hc-qa .qa-tag { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--danger); margin-bottom: 10px;}.hc-qa p { font-size: 17px; color: var(--navy); font-weight: 500; line-height: 1.65; margin: 0; }.hc-qa strong { color: var(--danger); }/* ── SECTION LABEL ── */.hc-sec { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--danger); background: var(--danger-bg); padding: 4px 12px; border-radius: 4px; margin-bottom: 10px;}.hc-sec.safe { color: var(--safe); background: var(--safe-bg); }/* ── HEADINGS ── */.hc-content h2 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(22px, 3.5vw, 30px); font-weight: 700; color: var(--navy); margin: 52px 0 18px; line-height: 1.2; letter-spacing: -0.02em; padding-bottom: 14px; border-bottom: 2px solid var(--border); position: relative;}.hc-content h2::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 48px; height: 2px; background: linear-gradient(90deg, var(--danger), var(--amber));}.hc-content h3 { font-size: 17px; font-weight: 700; color: var(--navy); margin: 28px 0 10px;}.hc-content p { font-family: 'Merriweather', Georgia, serif; color: #334155; font-size: 16px; line-height: 1.85; margin-bottom: 18px;}.hc-content p a { color: var(--safe); font-weight: 700; text-decoration: none; font-family: 'Space Grotesk', sans-serif; }.hc-content p a:hover { text-decoration: underline; }/* ════════════════════════════════ TOTAL COST COUNTER (hero stat)════════════════════════════════ */.cost-counter { display: flex; gap: 16px; flex-wrap: wrap; margin: 28px 0 44px;}.cc-item { flex: 1; min-width: 160px; background: var(--white); border: 1.5px solid var(--border); border-radius: 12px; padding: 18px 20px; text-align: center;}.cc-item.danger-item { border-color: #FECACA; background: var(--danger-bg); }.cc-item.safe-item { border-color: var(--safe-l); background: var(--safe-bg); }.cc-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); margin-bottom: 6px; }.cc-item.danger-item .cc-label { color: var(--danger); }.cc-item.safe-item .cc-label { color: var(--safe); }.cc-val { font-family: 'Space Grotesk', sans-serif; font-size: 26px; font-weight: 700; line-height: 1; }.cc-item.danger-item .cc-val { color: var(--danger); }.cc-item.safe-item .cc-val { color: var(--safe); }.cc-note { font-size: 12px; color: var(--muted); margin-top: 4px; }/* ════════════════════════════════ HIDDEN CHARGE REVEAL CARDS════════════════════════════════ */.charge-list { margin: 24px 0 50px; }.charge-card { background: var(--white); border: 1.5px solid var(--border); border-radius: 14px; margin-bottom: 14px; overflow: hidden; transition: box-shadow 0.2s, border-color 0.2s;}.charge-card:hover { box-shadow: 0 4px 20px rgba(220,38,38,0.08); }.charge-card.revealed { border-color: #FECACA; }/* Card header */.cc-head { display: flex; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; user-select: none; position: relative;}.cc-head-num { width: 36px; height: 36px; min-width: 36px; background: var(--danger-bg); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-family: 'Space Grotesk', sans-serif; font-size: 15px; font-weight: 700; color: var(--danger); flex-shrink: 0; transition: background 0.3s;}.charge-card.revealed .cc-head-num { background: var(--danger); color: #fff; }.cc-head-info { flex: 1; min-width: 0; }.cc-head-title { font-weight: 700; font-size: 15px; color: var(--navy); line-height: 1.3; margin-bottom: 2px;}.cc-head-range { font-size: 12px; color: var(--danger); font-weight: 700;}.cc-badge { font-size: 10px; font-weight: 700; letter-spacing: 0.5px; padding: 3px 10px; border-radius: 20px; white-space: nowrap;}.badge-high { background: #FEE2E2; color: #991B1B; }.badge-med { background: #FEF3C7; color: #92400E; }.badge-low { background: #DCFCE7; color: #14532D; }.cc-chev { color: var(--muted); font-size: 13px; transition: transform 0.3s; font-style: normal; flex-shrink: 0;}.charge-card.open .cc-chev { transform: rotate(180deg); }/* Card body */.cc-body { max-height: 0; overflow: hidden; transition: max-height 0.45s ease; background: #FAFAFA; border-top: 1px solid var(--border);}.charge-card.open .cc-body { max-height: 500px; }.cc-body-inner { padding: 0; display: grid; grid-template-columns: 1fr 1fr;}.cc-col { padding: 18px 20px;}.cc-col:first-child { border-right: 1px solid var(--border); }.cc-col-title { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 10px; display: flex; align-items: center; gap: 6px;}.cc-col-title.spot { color: var(--amber); }.cc-col-title.avoid { color: var(--safe); }.cc-col p { font-family: 'Merriweather', serif; font-size: 13.5px; color: #374151; line-height: 1.7; margin: 0;}.cc-example { margin-top: 10px; padding: 10px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; font-family: 'Space Grotesk', sans-serif;}.cc-example.bad { background: var(--danger-bg); color: var(--danger); }.cc-example.good { background: var(--safe-bg); color: var(--safe); }@media (max-width: 560px) { .cc-body-inner { grid-template-columns: 1fr; } .cc-col:first-child { border-right: none; border-bottom: 1px solid var(--border); } .cc-badge { display: none; }}/* ════════════════════════════════ AIRLINE FEE COMPARISON TABLE════════════════════════════════ */.fee-wrap { background: var(--white); border-radius: 16px; border: 1px solid var(--border); overflow: hidden; margin: 24px 0 44px; box-shadow: 0 4px 20px rgba(0,0,0,0.05); overflow-x: auto;}.fee-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 540px;}.fee-table thead th { background: var(--navy); color: rgba(255,255,255,0.7); padding: 13px 16px; text-align: left; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;}.fee-table thead th:first-child { color: #fff; }.fee-table tbody tr:nth-child(even) { background: #F8FAFC; }.fee-table tbody tr:hover { background: var(--danger-bg); }.fee-table td { padding: 12px 16px; color: #374151; border-bottom: 1px solid #F1F5F9; font-size: 13px; }.fee-table td:first-child { font-weight: 700; color: var(--navy); }.ft-free { color: var(--safe); font-weight: 700; }.ft-fee { color: var(--danger); font-weight: 700; }.ft-var { color: var(--amber); font-weight: 700; }/* ════════════════════════════════ SAFE BOOKING CHECKLIST════════════════════════════════ */.safe-checklist { margin: 24px 0 48px; }.sc-item { display: flex; gap: 14px; align-items: flex-start; background: var(--white); border: 1.5px solid var(--border); border-radius: 12px; padding: 16px 20px; margin-bottom: 10px; cursor: pointer; transition: border-color 0.2s, background 0.2s; user-select: none;}.sc-item:hover { border-color: var(--safe-l); }.sc-item.checked { border-color: var(--safe-l); background: var(--safe-bg); }.sc-box { width: 26px; height: 26px; min-width: 26px; border: 2px solid var(--border); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: transparent; transition: background 0.2s, border-color 0.2s, color 0.2s; flex-shrink: 0;}.sc-item.checked .sc-box { background: var(--safe); border-color: var(--safe); color: #fff;}.sc-label { font-weight: 700; font-size: 14px; color: var(--navy); margin-bottom: 3px; }.sc-item.checked .sc-label { color: var(--safe); }.sc-desc { font-size: 13px; color: var(--muted); line-height: 1.5; }.sc-progress { background: #F1F5F9; border-radius: 10px; padding: 14px 20px; margin-bottom: 18px; display: flex; align-items: center; gap: 14px;}.scp-label { font-size: 13px; font-weight: 700; color: var(--navy); white-space: nowrap; }.scp-bar-bg { flex: 1; height: 8px; background: #E2E8F0; border-radius: 4px; overflow: hidden; }.scp-fill { height: 100%; border-radius: 4px; width: 0%; background: linear-gradient(90deg, var(--safe), #22C55E); transition: width 0.4s ease;}.scp-count { font-size: 12px; font-weight: 700; color: var(--muted); white-space: nowrap; }.scp-count span { color: var(--safe); }/* ── CALLOUTS ── */.hc-callout { display: flex; gap: 16px; align-items: flex-start; border-radius: 12px; padding: 18px 22px; margin: 24px 0;}.hc-callout .hci { font-size: 22px; min-width: 26px; }.hc-callout p { margin: 0; font-size: 15px; line-height: 1.65; font-family: 'Space Grotesk', sans-serif; }.hc-callout p strong { display: block; margin-bottom: 3px; }.co-r { background: var(--danger-bg); border: 1px solid #FECACA; }.co-r p, .co-r p strong { color: #7F1D1D; }.co-g { background: var(--safe-bg); border: 1px solid var(--safe-l); }.co-g p { color: #14532D; }.co-g p strong { color: #15803D; }.co-a { background: var(--amber-bg); border: 1px solid #FCD34D; }.co-a p { color: #78350F; }.co-a p strong { color: #92400E; }/* ── FAQ ── */.hc-faq { margin: 16px 0 52px; }.hc-fi { background: var(--white); border: 1.5px solid var(--border); border-radius: 12px; margin-bottom: 10px; overflow: hidden; transition: border-color 0.2s, box-shadow 0.2s;}.hc-fi.open { border-color: #FECACA; box-shadow: 0 4px 18px rgba(220,38,38,0.07); }.hc-fq { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; cursor: pointer; gap: 14px; user-select: none;}.hc-fq span { font-weight: 700; font-size: 15px; color: var(--navy); line-height: 1.4; }.hc-fchev { width: 30px; height: 30px; min-width: 30px; background: var(--danger-bg); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--danger); font-size: 14px; transition: transform 0.3s, background 0.2s, color 0.2s; font-style: normal;}.hc-fi.open .hc-fchev { transform: rotate(180deg); background: var(--danger); color: #fff; }.hc-fa { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; padding: 0 22px; }.hc-fa p { font-size: 15px; color: #4B5563; line-height: 1.75; padding-bottom: 18px; margin: 0; font-family: 'Space Grotesk', sans-serif; }.hc-fi.open .hc-fa { max-height: 320px; }/* ── CTA ── */.hc-cta { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-m) 100%); border-radius: 20px; padding: 52px 40px; text-align: center; position: relative; overflow: hidden;}.hc-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 10% 80%, rgba(22,163,74,0.15) 0%, transparent 50%), radial-gradient(ellipse at 90% 20%, rgba(220,38,38,0.08) 0%, transparent 50%); pointer-events: none;}.hc-cta h2 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(22px, 4vw, 36px); font-weight: 700; color: #fff; margin: 0 0 12px; padding: 0; border: none; letter-spacing: -0.02em;}.hc-cta h2::after { display: none; }.hc-cta p { font-family: 'Space Grotesk', sans-serif; color: rgba(255,255,255,0.55); font-size: 16px; max-width: 480px; margin: 0 auto 30px; }.hc-cta-btn { display: inline-block; background: linear-gradient(135deg, var(--safe), #15803D); color: #fff; font-weight: 700; font-size: 16px; padding: 17px 44px; border-radius: 50px; text-decoration: none; box-shadow: 0 6px 24px rgba(22,163,74,0.4); transition: transform 0.2s, box-shadow 0.2s; font-family: 'Space Grotesk', sans-serif;}.hc-cta-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(22,163,74,0.55); text-decoration: none; color: #fff; }/* ── RESPONSIVE ── */@media (max-width: 640px) { .hc-hero { padding: 40px 18px 0; } .hc-content { padding: 36px 18px 60px; } .cost-counter { flex-direction: column; } .hc-cta { padding: 36px 22px; }}@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } .hidden-row { opacity: 1; transform: none; }} Consumer Alert · Nigeria Flights 2025 How to Avoid Hidden Charges When Booking Flights
That "₦27,000" fare can quietly become ₦45,000 by the time you hit confirm. Here's every trick airlines and OTAs use — and exactly how to beat them. 💚 Readers save an average of ₦8,000–₦22,000 after reading this guide Nigerian Airline X Lagos (LOS) → Abuja (ABV) BEFORE TBILS Base Fare ₦27,000 Checked Baggage (23kg) + ₦8,500 Seat Selection (4B Window) + ₦2,500 Travel Insurance (auto) + ₦3,200 Card Processing Fee + ₦1,350 OTA Service Charge + ₦3,000 TOTAL ₦27,000 ⚠ HIDDEN CHARGES INCOMING… ↺ Replay animation 🛡️ Tbils Travel Team June 23, 2025 · Updated June 23, 2025 10 min read ⚡ Quick Answer
The 8 most common hidden charges on Nigerian flight bookings are: baggage fees, card processing fees, seat selection charges, OTA service fees, auto-added travel insurance, airport taxes not shown upfront, fuel surcharges on international routes, and flight change/cancellation penalties. Always check the total price — not the headline fare — before booking. Use Tbils.com to compare total costs across all airlines with full fee transparency.
The Nigerian flight booking industry has a transparency problem. A fare advertised at ₦27,000 can become ₦45,000 by the time you click "Pay Now" — with extra charges slipping in during checkout so smoothly you barely notice until it's too late.
This isn't always dishonest — some charges are legitimate and unavoidable, like airport taxes and fuel surcharges. But many are optional extras presented as defaults, or fees that only appear at the final payment screen after you've spent 15 minutes filling in your details. This guide names every one of them and shows you exactly how to avoid each one. Max Hidden Fees Per Booking ₦25,000+ above advertised fare Hidden Charges We Found 8 Types across Nigerian platforms Average Saving After This Guide ₦8–22k per round trip The 8 Culprits
Every Hidden Flight Charge in Nigeria — Revealed
Click each charge to see how to spot it and exactly how to avoid it: 1 Checked Baggage Fees ₦5,000 – ₦15,000 extra ⚠ Most Expensive ▾ 🔍 How to Spot It
The advertised fare says "from ₦27,000" but that's for hand luggage only (typically 7–10 kg). Checked baggage (20–23 kg) is shown as an add-on during checkout — easily missed when you're rushing through. Airlines design the flow so you notice only when you see the inflated total at the payment screen. ❌ "Economy Lite — ₦27,000" (hand luggage only, no checked bag) ✅ How to Avoid It
Before selecting any fare, click on the baggage policy. If you need a checked bag, compare the total price including baggage across airlines — sometimes the "expensive" airline is actually cheaper once bags are included. Add baggage at booking, not at the airport (airport fees are 30–50% higher). ✅ Select "Standard Fare (includes 23kg)" at booking — save ₦5,000+ vs airport add-on 2 Card Processing / Payment Fees 1.5% – 3% of total fare ⚡ Common ▾ 🔍 How to Spot It
On the payment page, after you enter your card details, the total jumps by 1.5–3%. This card processing fee is charged by many Nigerian OTAs and some airline websites. On a ₦45,000 booking that's an extra ₦675–₦1,350 that wasn't in the price you chose. ❌ ₦45,000 fare + "Payment Processing Fee: ₦1,350" appearing at final checkout ✅ How to Avoid It
Switch to bank transfer or USSD payment — most Nigerian platforms waive the card fee for these methods. If you must pay by card, Verve cards often incur lower fees than Visa or Mastercard on domestic platforms. Always check the payment method options before entering card details. ✅ Pay via bank transfer (NEFT) or USSD (*737#, *894#) — saves ₦675–₦2,700 per booking 3 Seat Selection Fees ₦1,000 – ₦5,000 per seat ⚡ Common ▾ 🔍 How to Spot It
After selecting your flight, you're taken to a seat map where "preferred" seats (window, aisle, exit row, front rows) are highlighted in paid tiers. The page is designed to feel like choosing a seat is mandatory — it's not. Basic seats are free but shown in greyed-out rows that look unavailable. ❌ "Select Seat — Window (4A): ₦3,500" looking like a required step ✅ How to Avoid It
Skip paid seat selection entirely during booking — look for a "Skip" or "Choose Later" button. You'll be assigned a random seat for free. Then check in online 24 hours before departure where most airlines let you pick from available seats at no charge. Emergency exit rows may still cost extra. ✅ Skip seat selection at booking → choose free seat during online check-in 24hrs before 4 Auto-Added Travel Insurance ₦1,500 – ₦5,000 per booking ⚡ Sneaky ▾ 🔍 How to Spot It
Many OTAs — including some of the biggest Nigerian platforms — pre-tick a travel insurance add-on during checkout. It appears as a "protect your trip" option with a checkbox already ticked and a small amount (₦2,000–₦5,000) quietly added to your total. Easily missed when you're rushing to pay. ❌ "✓ Travel Protection Plan: ₦3,200" — pre-ticked by default on checkout page ✅ How to Avoid It
Read every checkbox on the checkout page carefully. Untick any insurance product you didn't deliberately choose. If you genuinely want travel insurance, compare standalone policies separately — they're almost always cheaper than the bundled option at checkout. ✅ Untick pre-selected insurance at checkout — saves ₦1,500–₦5,000 per booking 5 OTA / Travel Agent Service Fees ₦2,000 – ₦10,000 per booking ⚠ Always Present ▾ 🔍 How to Spot It
Third-party booking platforms often add their own service charge on top of the airline's published fare. This is sometimes called a "booking fee", "service charge", or "convenience fee" and appears late in the checkout process, after you've committed mentally to the booking. ❌ "Service Fee: ₦5,000" appearing on the final review page after 10 minutes of form filling ✅ How to Avoid It
Book through fee-free comparison platforms like Tbils.com that show total prices with no markup, or book directly on the airline's own website where no OTA service fee applies. Always verify the total before entering payment details. ✅ Book on Tbils.com or airline website directly — zero OTA service fee 6 Airport Taxes Not Shown in Headline Fare ₦1,500 – ₦8,000 per sector ⚡ Mandatory ▾ 🔍 How to Spot It
Nigerian airports charge government-mandated taxes and levies on every passenger — including the Passenger Service Charge (PSC), security surcharge, and fuel levy. Some platforms advertise the base fare before these taxes. The "total including taxes" column is where the real price lives. ❌ "₦22,000" in big text — then "₦27,500 incl. taxes" in tiny text underneath ✅ How to Avoid It
Always read the "total including all taxes and fees" price, not the bare fare. These taxes are unavoidable and mandatory — but knowing about them means you won't be surprised at checkout. When comparing fares across airlines, always compare totals, not base fares. ✅ Always compare "total incl. taxes" — available upfront on Tbils.com 7 Fuel Surcharges (International Flights) $20 – $120 per sector ⚡ International ▾ 🔍 How to Spot It
On international routes from Lagos (LOS) or Abuja (ABV), airlines add fuel surcharges (also called YQ or YR surcharges) that can add $40–$240 to a round trip. These are rarely mentioned in the advertised fare and often buried in the taxes-and-fees breakdown during checkout. ❌ "Flight from ₦280,000" → "Taxes + YQ Surcharge: ₦120,000" at checkout ✅ How to Avoid It
For international bookings, always expand the "taxes and fees breakdown" before committing. Some airlines waive fuel surcharges on award tickets or certain booking classes. Use total-price comparison tools that include all surcharges to get an accurate picture before you start filling in details. ✅ Expand fare breakdown before booking — look for YQ/YR line items in international fares 8 Change & Cancellation Penalty Fees ₦10,000 – ₦35,000 or full fare loss ⚠ Most Painful ▾ 🔍 How to Spot It
The cheapest fares ("Lite", "Basic", "Saver") are almost always non-refundable and carry heavy change fees. Airlines bury the change/cancellation policy in fine print during booking. You only discover the ₦20,000 change fee when your meeting gets rescheduled and you try to move your flight. ❌ Cheap "Saver" fare — then discovering it's fully non-refundable and changes cost ₦25,000 ✅ How to Avoid It
Before selecting any fare, click "Fare Rules" or "Conditions" and read the change and cancellation policy. If your travel plans are uncertain, pay the premium for a "Flex" or "Standard" fare — the small upfront cost is almost always cheaper than a change fee. Factor this into your total cost calculation. ✅ Pay ₦3,000–₦8,000 more for a Flex fare if plans might change — saves ₦20,000+ in change fees Airline by Airline
Nigerian Airline Fee Comparison
Not all airlines are equally guilty. Here's how the main Nigerian carriers compare on transparency and hidden fees: Airline Hand Luggage 23kg Bag Fee Seat Selection Card Fee Transparency Ibom Air 7kg free ₦7,000–₦12,000 Free (basic) Varies ⭐⭐⭐⭐⭐ Best Air Peace 10kg free ₦8,000–₦15,000 ₦1,500–₦4,000 1.5–2% ⭐⭐⭐⭐ Good United Nigeria 7kg free ₦7,500–₦12,000 Free (basic) 1.5% ⭐⭐⭐⭐ Good Arik Air 7kg free ₦8,000–₦14,000 ₦2,000–₦5,000 2–3% ⭐⭐⭐ Average Dana Air 7kg free ₦7,000–₦11,000 Varies 2% ⭐⭐⭐ Average ✅
The transparency shortcut: Use Tbils.com to compare total prices — including baggage and mandatory fees — across all Nigerian airlines in one search. You'll see what you actually pay, not just the bait fare, before you commit to any airline. ✅ Your Protection
The Safe Booking Checklist — 8 Steps
Tick each step as you complete it during your next booking to ensure you're not paying a naira more than necessary: Checklist Progress 0 / 8 completed ✓ Compare TOTAL price, not headline fare Always look at the "total including taxes and fees" figure. Use Tbils.com to see full prices side by side across all airlines. ✓ Check baggage policy BEFORE selecting fare Click "Baggage" or "Fare Details" on every fare before picking it. Know whether your bag is included or costs extra. ✓ If you need a bag, add it at booking — not at the airport Airport baggage fees are 30–50% higher than pre-booked rates on every Nigerian airline. Add baggage during booking or via the airline website before check-in. ✓ Skip paid seat selection — choose free during check-in Don't pay ₦1,500–₦5,000 for a seat now. Click "Skip" and select your preferred seat for free during online check-in 24 hours before departure. ✓ Untick every pre-selected checkbox at checkout Read every line on the checkout page. Uncheck travel insurance, car hire, airport lounge access, or any other add-on you didn't actively choose. ✓ Pay by bank transfer or USSD to avoid card fees Switch to NEFT transfer or USSD (*737#, *894#, *919#) at the payment page. This typically saves 1.5–3% in card processing fees. ✓ Read the cancellation/change policy before confirming Click "Fare Rules" or "Conditions". If your plans might change, the extra ₦3,000–₦8,000 for a Flex fare is almost always worth it versus a ₦20,000+ change fee. ✓ Verify your total one final time before clicking "Pay" On the final review screen, confirm the total matches what you expected. If any new charge has appeared that wasn't there before, question it before paying. ⚠️
The oldest trick: Many booking platforms show prices excluding taxes in search results, then reveal the full price only on the final checkout screen — after you've invested time and feel committed. This is called "drip pricing" and it's deliberately designed to make you less likely to abandon the booking. Don't let momentum push you into overpaying. Common Questions
Frequently Asked Questions
Common hidden charges on Nigerian flight bookings include: checked baggage fees (₦5,000–₦15,000), card payment surcharges (1.5–3%), seat selection fees (₦1,000–₦5,000), OTA service fees (₦2,000–₦10,000), auto-added travel insurance (₦1,500–₦5,000), airport taxes not shown in headline fares, fuel surcharges on international routes, and change/cancellation penalties (₦10,000–₦35,000). How much are hidden flight booking fees in Nigeria? ▾
Hidden fees on Nigerian flight bookings can add ₦3,000 to ₦25,000 to your advertised fare. Common charges: baggage (₦5,000–₦15,000), card processing (1.5–3% of fare), seat selection (₦1,000–₦5,000), OTA service fees (₦2,000–₦10,000). Always check the total price including all fees before booking — not just the headline fare. Which Nigerian airline has the least hidden fees? ▾
Ibom Air is widely regarded as having the most transparent pricing among Nigerian domestic carriers, with clearly disclosed baggage policies and fewer checkout surprises. Air Peace and United Nigeria also have relatively clear domestic fare structures. That said, always verify the total price including all fees on Tbils.com before booking any airline. Is it cheaper to add baggage at booking or at the airport in Nigeria? ▾
Adding checked baggage at the time of booking is almost always cheaper than paying at the airport in Nigeria. Airport baggage fees are typically 30–50% higher than pre-booked rates. Add your baggage when booking, or at the latest through the airline's website before online check-in opens (24 hours before departure). Do Nigerian airlines charge for seat selection? ▾
Yes — most Nigerian airlines charge ₦1,000–₦5,000 for specific seat selection (window, aisle, front rows, or emergency exit) at booking. However, you can avoid this entirely by skipping paid seat selection and choosing a seat for free during online check-in, which opens 24 hours before departure on most Nigerian carriers. How do I avoid card payment fees when booking Nigerian flights? ▾
To avoid card payment surcharges, pay via bank transfer (NEFT) or USSD instead of debit card where available. Popular USSD codes: GTBank *737#, First Bank *894#, UBA *919#, Zenith Bank *966#. Some platforms also charge lower fees on Verve cards compared to Visa or Mastercard. Always check payment options before entering your card number.
Book Flights With No Hidden Surprises
Tbils.com shows you the complete total — including all taxes, fees, and baggage — before you commit to anything. No card surcharges. No service fees. No checkout shock. See Transparent Flight Prices on Tbils.com → (function () { 'use strict'; /* ══ RECEIPT ANIMATION ══ */ var totals = [27000, 35500, 38000, 41200, 42550, 45550]; var labels = ['₦27,000', '₦35,500', '₦38,000', '₦41,200', '₦42,550', '₦45,550']; var ids = ['hf1','hf2','hf3','hf4','hf5']; var animTimer, stepIdx = 0, started = false; function runReceipt() { if (started) return; started = true; var delay = 900; ids.forEach(function(id, i) { setTimeout(function() { var el = document.getElementById(id); if (el) el.classList.add('revealed'); stepIdx = i + 1; var tot = document.getElementById('rTotal'); if (tot) { tot.textContent = labels[stepIdx]; tot.className = 'rt-amt inflated'; } }, delay * (i + 1)); }); // Final state setTimeout(function() { var footer = document.getElementById('rFooter'); var status = document.getElementById('rStatus'); var airline = document.getElementById('rAirline'); if (footer) { footer.textContent = '⚠ ₦18,550 ADDED IN HIDDEN CHARGES'; footer.classList.remove('safe-footer'); } if (status) { status.textContent = 'TOTAL EXPOSED'; status.className = 'rh-status st-before'; } var rb = document.getElementById('replayBtn'); if (rb) rb.style.display = 'inline-block'; }, delay * (ids.length + 1)); } window.replayReceipt = function() { // Reset ids.forEach(function(id) { var el = document.getElementById(id); if (el) el.classList.remove('revealed'); }); var tot = document.getElementById('rTotal'); var footer = document.getElementById('rFooter'); var status = document.getElementById('rStatus'); var rb = document.getElementById('replayBtn'); if (tot) { tot.textContent = '₦27,000'; tot.className = 'rt-amt'; } if (footer) { footer.textContent = '⚠ HIDDEN CHARGES INCOMING…'; footer.classList.remove('safe-footer'); } if (status) { status.textContent = 'BEFORE TBILS'; status.className = 'rh-status st-before'; } if (rb) rb.style.display = 'none'; started = false; stepIdx = 0; setTimeout(runReceipt, 400); }; // Start automatically when hero is visible if ('IntersectionObserver' in window) { var heroObs = new IntersectionObserver(function(entries) { if (entries[0].isIntersecting) { setTimeout(runReceipt, 800); heroObs.disconnect(); } }, { threshold: 0.4 }); var receipt = document.getElementById('mainReceipt'); if (receipt) heroObs.observe(receipt); } else { setTimeout(runReceipt, 1200); } /* ══ CHARGE CARD ACCORDION ══ */ window.toggleCharge = function(head) { var card = head.closest('.charge-card'); var wasOpen = card.classList.contains('open'); // Close all document.querySelectorAll('.charge-card.open').forEach(function(c) { c.classList.remove('open'); }); if (!wasOpen) { card.classList.add('open', 'revealed'); } }; /* ══ SAFE BOOKING CHECKLIST ══ */ var totalChecks = document.querySelectorAll('.sc-item').length; window.toggleCheck = function(item) { item.classList.toggle('checked'); updateCheckProgress(); }; function updateCheckProgress() { var done = document.querySelectorAll('.sc-item.checked').length; var pct = Math.round((done / totalChecks) * 100); var fill = document.getElementById('scpFill'); var cnt = document.getElementById('scpDone'); if (fill) fill.style.width = pct + '%'; if (cnt) cnt.textContent = done; } /* ══ FAQ ACCORDION ══ */ document.querySelectorAll('.hc-fq').forEach(function(btn) { btn.addEventListener('click', toggleFaq); btn.addEventListener('keydown', function(e) { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggleFaq.call(this); } }); }); function toggleFaq() { var item = this.closest('.hc-fi'); var isOpen = item.classList.contains('open'); document.querySelectorAll('.hc-fi.open').forEach(function(el) { el.classList.remove('open'); el.querySelector('.hc-fq').setAttribute('aria-expanded', 'false'); }); if (!isOpen) { item.classList.add('open'); this.setAttribute('aria-expanded', 'true'); } } /* ══ SCROLL FADE-IN ══ */ if ('IntersectionObserver' in window) { var els = document.querySelectorAll('.charge-card, .sc-item, .hc-fi, .fee-wrap, .cost-counter'); els.forEach(function(el) { el.style.opacity = '0'; el.style.transform = 'translateY(14px)'; el.style.transition = 'opacity 0.42s ease, transform 0.42s ease'; }); var obs = new IntersectionObserver(function(entries) { entries.forEach(function(e) { if (e.isIntersecting) { e.target.style.opacity = '1'; e.target.style.transform = 'translateY(0)'; obs.unobserve(e.target); } }); }, { threshold: 0.08 }); els.forEach(function(el) { obs.observe(el); }); }})();
READY WHEN YOU ARE
Book your next flight with confidence
Compare available fares and get help from a travel expert when you need it.
Search flights

