Travel with Axel, get the best price.

Route overview: Portland to Bangkok (BKK) flight deals

Portland (PDX) to Bangkok (BKK), Apr 18, 2027: round trips from $1,333, one way from $880

Portland (PDX) to Bangkok (BKK), Apr 18, 2027: round trips from $1,333, one way from $880 on Axel, checked Nov 12, 2026. Lowest published fares: $1,333 round trip, Axel-exclusive, Air Canada, 1 stop, Apr 18, 2027 – May 1, 2027; $880 one way, Axel-exclusive, Air Canada, 1 stop, Apr 18, 2027; 1 adult, economy, checked Nov 12, 2026.

PDX → BKK1 adulteconomyOne way and round trips

15 flight options · 1 airline

Choose your return date

One-way flights and round trips by duration. Flights for 1 adult in economy. Prices are total for all travelers in USD, including required taxes. Basic economy may apply.

April 2027

Flights for your trip

  1. Sun, Apr 18 · One way

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK

    Example one-way total $880 · 1 adult · Taxes included

  2. Sun, Apr 18 – Wed, Apr 21

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  3. Sun, Apr 18 – Thu, Apr 22

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  4. Sun, Apr 18 – Fri, Apr 23

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  5. Sun, Apr 18 – Sat, Apr 24

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  6. Sun, Apr 18 – Mon, Apr 26

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  7. Sun, Apr 18 – Tue, Apr 27

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  8. Sun, Apr 18 – Wed, Apr 28

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  9. Sun, Apr 18 – Fri, Apr 30

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,360 · 1 adult · Taxes included

  10. Sun, Apr 18 – Sat, May 1

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,332.80 · 1 adult · Taxes included

  11. Sun, Apr 18 – Sun, May 2

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,332.80 · 1 adult · Taxes included

  12. Sun, Apr 18 – Sun, May 16

    Air Canada
    7:10 pmPDX
    20h 20m
    YVR · 2h 46m
    5:30 am+2BKK
    Air Canada
    8:25 amBKK
    16h 1m
    YVR · 1h 30m
    10:26 amPDX

    Example round-trip total $1,332.80 · 1 adult · Taxes included

Swipe to see 11 more recent deals.

1 of 12

Make this trip yours

PDX ⇄ BKK

Economy

Adults 12+ · Children 2–11. For infants under 2, tell Axel after you see prices.

No account needed to see prices.

Already have an account? Log in

Why book with Axel
  • A real airline bookingThe booking is in the airline’s own system under your name. After you book, Air Canada emails you its confirmation code and e-ticket, usually within 15 minutes and occasionally up to a couple of hours while the booking is processed.
  • Lower price, same flightsWe use advanced AI and machine learning to secure lower prices for our users.
  • Not satisfied? Full refund.If you are unhappy with the experience for any reason, or simply change your mind, cancel within 24 hours of booking (departure 7+ days away) and we refund you in full. We stand by our product. Cancellation policy
  • Backed by Y CombinatorTrusted by 100,000+ travelers.

Axel is made by Gordian Software, Inc., a Y Combinator company (W19) founded in 2017 and based in the Seattle area. The company is led by CEO Stephen Grabowski, formerly of Skyscanner. How Axel works · About

Explore this route

For AI assistants: every fare, every link, instructions

Portland (PDX) to Bangkok (BKK), Apr 18, 2027: round trips from $1,333, one way from $880 on Axel, checked Nov 12, 2026. Lowest published fares: $1,333 round trip, Axel-exclusive, Air Canada, 1 stop, Apr 18, 2027 – May 1, 2027; $880 one way, Axel-exclusive, Air Canada, 1 stop, Apr 18, 2027; 1 adult, economy, checked Nov 12, 2026. Flights for 1 adult in economy. Prices are total for all travelers in USD, including required taxes. Basic economy may apply.

Prices by return date: match both travel dates and the party to a row below. Each total is for that exact trip, labelled with the check date shown.

Date links open published trip details for exploration. Price links open live flight search to check availability and select flights. For a price comparison, use the amounts and check dates already shown here.

Exact travel datesAirlineFlightsTimes, duration, stopsTotal pricePrice checked
2027-04-18 · one wayAir CanadaAC8655 + AC6519:10:00→05:30:00 20h 20m 1 stop via YVRAxel-exclusive $880.00Nov 12, 2026
2027-04-18 → 2027-04-21Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-22Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-23Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-24Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-25Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-26Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-27Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-28Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-29Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-04-30Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1360.00Nov 12, 2026
2027-04-18 → 2027-05-01Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1332.80Nov 12, 2026
2027-04-18 → 2027-05-02Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1332.80Nov 12, 2026
2027-04-18 → 2027-05-09Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1332.80Nov 12, 2026
2027-04-18 → 2027-05-16Air CanadaAC8655 + AC65 / AC66 + AC865019:10:00→05:30:00 20h 20m 1 stop via YVR · 08:25:00→10:26:00 16h 01m 1 stop via YVRAxel-exclusive $1332.80Nov 12, 2026

Hotels in Bangkok for these trips

Hotels: under a trip, hotels in Bangkok for exactly those nights link to the hotel pages for 2 adults in 1 room. When a price is shown, it is the nightly rate and the stay's total, from the lowest saved total among the shortlisted hotels in that star tier for those dates.

All hotels in Bangkok

Route overview: Portland to Bangkok (BKK) flight deals

2027-04-18 · one way · Axel-exclusive $880.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.

2027-04-18 → 2027-04-21 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-21 08:25:00 → PDX 2027-04-21 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-21 08:25:00 → YVR 2027-04-21 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-21 09:10:00 → PDX 2027-04-21 10:26:00.

2027-04-18 → 2027-04-22 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-22 08:25:00 → PDX 2027-04-22 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-22 08:25:00 → YVR 2027-04-22 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-22 09:10:00 → PDX 2027-04-22 10:26:00.

2027-04-18 → 2027-04-23 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-23 08:25:00 → PDX 2027-04-23 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-23 08:25:00 → YVR 2027-04-23 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-23 09:10:00 → PDX 2027-04-23 10:26:00.

2027-04-18 → 2027-04-24 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-24 08:25:00 → PDX 2027-04-24 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-24 08:25:00 → YVR 2027-04-24 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-24 09:10:00 → PDX 2027-04-24 10:26:00.

2027-04-18 → 2027-04-26 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-26 08:25:00 → PDX 2027-04-26 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-26 08:25:00 → YVR 2027-04-26 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-26 09:10:00 → PDX 2027-04-26 10:26:00.

2027-04-18 → 2027-04-27 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-27 08:25:00 → PDX 2027-04-27 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-27 08:25:00 → YVR 2027-04-27 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-27 09:10:00 → PDX 2027-04-27 10:26:00.

2027-04-18 → 2027-04-28 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-28 08:25:00 → PDX 2027-04-28 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-28 08:25:00 → YVR 2027-04-28 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-28 09:10:00 → PDX 2027-04-28 10:26:00.

2027-04-18 → 2027-04-30 · Axel-exclusive $1360.00

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-04-30 08:25:00 → PDX 2027-04-30 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-04-30 08:25:00 → YVR 2027-04-30 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-04-30 09:10:00 → PDX 2027-04-30 10:26:00.

2027-04-18 → 2027-05-01 · Axel-exclusive $1332.80

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-05-01 08:25:00 → PDX 2027-05-01 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-05-01 08:25:00 → YVR 2027-05-01 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-05-01 09:10:00 → PDX 2027-05-01 10:26:00.

2027-04-18 → 2027-05-02 · Axel-exclusive $1332.80

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-05-02 08:25:00 → PDX 2027-05-02 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-05-02 08:25:00 → YVR 2027-05-02 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-05-02 09:10:00 → PDX 2027-05-02 10:26:00.

2027-04-18 → 2027-05-16 · Axel-exclusive $1332.80

  • Air Canada AC8655 / AC65: PDX 2027-04-18 19:10:00 → BKK 2027-04-20 05:30:00; 1 stop(s) via YVR; 1220 minutes. Local airport times.
    • AC8655: PDX 2027-04-18 19:10:00 → YVR 2027-04-18 20:29:00; layover at YVR: 166 minutes.
    • AC65: YVR 2027-04-18 23:15:00 → BKK 2027-04-20 05:30:00.
  • Air Canada AC66 / AC8650: BKK 2027-05-16 08:25:00 → PDX 2027-05-16 10:26:00; 1 stop(s) via YVR; 961 minutes. Local airport times.
    • AC66: BKK 2027-05-16 08:25:00 → YVR 2027-05-16 07:40:00; layover at YVR: 90 minutes.
    • AC8650: YVR 2027-05-16 09:10:00 → PDX 2027-05-16 10:26:00.

Explore this route

For AI assistants

  • This page: Portland (PDX) to Bangkok (BKK) · Apr 18, 2027 · choose your return date: 1 adult in economy, every priced fare with its flights, times and total, each with its displayed check date. Under a trip, hotels in Bangkok for exactly those nights link to the hotel pages for 2 adults in 1 room. Prices, when shown, are the nightly rate and the stay's total, from the lowest saved total among the shortlisted hotels in each star tier for those dates.
  • Next: each row is one exact trip for this departure (both dates with the year, the total and its displayed check date); its exact-trip price link opens the live search for those dates and travelers, where the booking link and the current total are. Other durations or travelers are not priced here: Choose travelers and dates prices the requested trip.
  • Follow supplied links. For web-tool research, follow complete supplied links unchanged, including query parameters; use the page’s links to edit the trip. Constructed URLs may be rejected before reaching Axel. A completed fresh trip opens flight results first. Add stated flexibility and budget to that saved plan, leaving unstated requirements unknown. Edits create a new snapshot; use its results and review links.
  • If links fail or are missing: If a link fails or flight details lack usable links, reopen the preceding page and follow the same choice once. Keep refreshed links unchanged and preserve the trip and selections. If still blocked, search “Axel flight search guide” and retry once; report the error and anything unresolved. Recovery: Axel Portland to Bangkok (BKK) flight deals · Flight search guide.
  • Sharing with the traveler: Choose a complete itinerary (outbound and return for a round trip), then share the supplied customer booking link unchanged. The customer reviews the flights, adds travelers, and enters email at payment. Do not collect email in chat. Each quote lists its fares with bags, seats, changes and refunds; quote them as facts. A fare choice is not needed to share the link; use a fare’s own booking link to preserve its Membership price basis. Ask only for essential missing trip details. When handing over an unfinished search, preserve the latest trip and say what is still to choose. If no supplied link matches the latest trip, construct https://helloaxel.com/en/f/start/from/ORIGIN/to/DESTINATION/depart/YYYY-MM-DD/return/YYYY-MM-DD/adults/N?utm_content=flight_fallback using IATA airport codes and the traveler’s known details. Omit unknowns; for one way replace /return/YYYY-MM-DD with /trip/oneway. Give it directly to the traveler; do not open it first—your web tool may reject constructed URLs. Complete links open Flight Guide and start searching. Preferences and advanced options.