Korean Air Lines KE6 (KAL006) from Las Vegas to Seoul (2025)

22. Jan 2025

Live

LAS

Las Vegas
TERMINAL: 3
GATE: E1

->

11h 57m
9,680km / 5,975mi

ICN

Seoul
TERMINAL: 2
GATE: 2

22 Jan 23:00 PST
22 Jan 22:50
23. Jan 07:00 UTC
+10minutes

24 Jan 03:58 KST
24 Jan 05:20
23. Jan 18:58 UTC
-81minutes
" : ""}Korean Air Lines KE6 (KAL006) from Las Vegas to Seoul (4)`; if (activeHex in marker) { liveMap.removeLayer(marker[activeHex]); } const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; document.getElementById(`mi-${activeHex}`).style.transform = `rotate(${lp[2]}deg)`; activeMarker = null; } activeHex = null; liveTrack = null; liveMarker = null; estTrack = null; document.getElementById('liveMapContainer').style.display = 'none'; document.getElementById('mapSearch').style.display = 'block';} /** * Recalculates the new position of a marker based on the time elapsed and its previous state. * @param {Object} liveMap */async function updateCalc(liveMap) { if (recalcInProg || liveMap.getZoom() < 6) { return; } recalcInProg = true; for (const [key, prevPos] of Object.entries(lastPos)) { updateSinglePosition(key, prevPos); } recalcInProg = false;}function updateSinglePosition(key, prevPos) { if (!(key in marker) || prevPos[3] < 50 || prevPos[6]) { return; } const speed = prevPos[3] || 0; const interval = Date.now() - prevPos[4]; if (interval > 10_000) { return; } const dist = speed * interval / 1000 / 3600 * 1852; if (dist < 20) { return; } // calculate next position const lat1 = toRad(prevPos[0]); const lon1 = toRad(prevPos[1]); const brng = toRad(prevPos[2]); const lat2 = Math.asin(sin(lat1) * cos(dist / r_earth) + cos(lat1) * sin(dist / r_earth) * cos(brng)); const lon2 = lon1 + Math.atan2(sin(brng) * sin(dist / r_earth) * cos(lat1), cos(dist / r_earth) - sin(lat1) * sin(lat2)); const lat2d = toDeg(lat2); const lon2d = toDeg(lon2); if (isNaN(lat2d) || isNaN(lon2d)) { return; } lastPos[key] = [lat2d, lon2d, prevPos[2], prevPos[3], Date.now(), prevPos[5], prevPos[6], prevPos[7]]; marker[key].setLatLng([lat2d, lon2d]); if (liveTrack && activeMarker == key) { const l = liveTrack.getLatLngs(); l.push(L.latLng(lat2d, lon2d, prevPos[5])); try { liveTrack.setLatLngs(l); } catch (e) { /* Catch error silently. */ } if (activeDest) { const tn = L.latLng(lat2d, lon2d); liveMap.removeLayer(estTrack); const arcOptions = { color: "lightgray", noClip: true, vertices: 100 }; estTrack = t.lng < tn.lng ? L.Polyline.Arc(activeDest, tn, arcOptions) : L.Polyline.Arc(tn, activeDest, arcOptions); estTrack.addTo(liveMap); tracks.push(estTrack); } }}/** * Fetches data from a specific URL, handles errors and returns the JSON response. * @param {string} url */async function getData(url) { const response = await fetch(url, { headers: { Authorization: auth_token } }); if (!response.ok) { handleFetchErrors(response); return null; } if (sf === "") { document.getElementById("liveUpdErr").style.display = 'none'; document.getElementById("liveUpdNotFound").style.display = 'none'; } return response.json();}/** * Fetches POIs from a specific URL, handles errors and returns the JSON response. * @param {string} url */async function getPOIs(url) { const response = await fetch(url, { headers: { Authorization: auth_token } }); if (!response.ok) { handleFetchErrors(response); return null; } const jsonResponse = await response.json(); for (const poi of jsonResponse) { poi.latLng = L.latLng(poi.lat, poi.lng); } return jsonResponse;} function getPOIVisibility(zoom, size) { if (size == 0) { return zoom > 7; } if (size == 1) { return zoom > 6; } return true;}async function updatePOIs(liveMap) { if (!cachedPOIs) { cachedPOIs = await getPOIs("/en/live/pois"); } const bounds = liveMap.getBounds(); const extendedBounds = L.latLngBounds( [bounds.getSouth() - 5, bounds.getWest() - 5], [bounds.getNorth() + 5, bounds.getEast() + 5] ); const currentlyVisiblePOIs = {}; Object.keys(currentPOIMarkers).forEach(key => { const p = currentPOIMarkers[key]; const m = cachedPOIs[key]; if (m && extendedBounds.contains(p.getLatLng()) && getPOIVisibility(liveMap.getZoom(), m.sz)) { currentlyVisiblePOIs[key] = true; } else { liveMap.removeLayer(p); delete currentPOIMarkers[key]; } }); cachedPOIs.forEach(poi => { if (poi.ident in currentlyVisiblePOIs) { return; } if (!getPOIVisibility(liveMap.getZoom(), poi.sz)) { return; } if (extendedBounds.contains(poi.latLng)) { const marker = L.circleMarker(poi.latLng, { renderer: poiCanvas, radius: 4, poiId: poi.i }); marker.addTo(liveMap); currentPOIMarkers[poi.i] = marker; } });}/** * Handles errors during fetch call * @param {Object} response */function handleFetchErrors(response) { if (sf !== "") return; const liveUpdErr = document.getElementById("liveUpdErr"); const liveUpdNotFound = document.getElementById("liveUpdNotFound"); const liveMapContainer = document.getElementById("liveMapContainer"); const mapSearch = document.getElementById("mapSearch"); if (response.status !== 404) { refreshsActive = false; liveUpdNotFound.style.display = 'none'; liveUpdErr.style.display = 'block'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; document.getElementById("liveUpdErrCode").innerText = response.status; } else { liveUpdErr.style.display = 'none'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; liveUpdNotFound.style.display = 'block'; }}async function updateMap(liveMap, fromZoom, clickHex) { if (documentIsHidden()) return; const bounds = liveMap.getBounds(); const url = constructURL(bounds, liveMap.getZoom(), clickHex); await updatePOIs(liveMap); if (updateInProgressOrTooSoon(fromZoom)) return; recalcInProg = true; lastUpdate = Date.now(); updateInProg = true; const ld = await getData(url); if (!ld) { updateInProg = false; return; } processMapData(liveMap, ld, fromZoom, clickHex);}function documentIsHidden() { return typeof document.hidden !== "undefined" && document.hidden;}function constructURL(bounds, zoom, clickHex) { const widthText = screenWidth > 1000 ? "large" : "small"; const hexIncl = clickHex ? `?incl=${clickHex}&` : "?"; return `/en/live/map/${Math.floor(bounds['_northEast'].lat * 1e5)}/${Math.floor(bounds['_southWest'].lat * 1e5)}/` + `${Math.floor(bounds['_southWest'].lng * 1e5)}/${Math.floor(bounds['_northEast'].lng * 1e5)}/${zoom}/${widthText}` + hexIncl + `${Math.floor(Date.now() / 5000)}`;}function updateInProgressOrTooSoon(fromZoom) { if (updateInProg) { return true; } const freq = fromZoom ? minZoomFreq : minRefreshFreq; return Date.now() - lastUpdate < freq;}function processMapData(liveMap, ld, fromZoom, clickHex) { newMarker = {}; arcs = []; curArc = []; arcCol = ""; prevCoord = []; document.getElementById("nr_flights_disp").innerText = ld["f"]; document.getElementById("nr_flights_tot").innerText = ld["t"]; const st = screenWidth / ld["f"] > 5; const redraw = st !== hadTitles; for (const entr in ld["m"]) { const e = ld["m"][entr]; handleMarker(liveMap, e, redraw, st); } hadTitles = st; removeUnusedMarkers(liveMap); updateInProg = false; recalcInProg = false; firstUpd = false; if (clickHex) { const markerToClick = marker[clickHex]; if (markerToClick) { const latLng = markerToClick.getLatLng(); liveMap.setView(latLng, liveMap.getZoom(), {animate: true}); // Changed animate to true for smooth transition setTimeout(() => { markerToClick.fire('click'); }, 100); } }}function handleMarker(liveMap, e, redraw, st) { if (e[4] == null || e[5] == null) { return; } const currentPos = L.latLng(e[4], e[5]); if (redraw && e[0] in marker) { liveMap.removeLayer(marker[e[0]]); delete marker[e[0]]; } if (e[0] in marker) { updateExistingMarker(e, currentPos); } else { createNewMarker(liveMap, e, currentPos, st); }}function updateExistingMarker(e, currentPos) { const m = marker[e[0]]; m.setLatLng(currentPos); lastPos[e[0]] = [e[4], e[5], e[2], e[6], new Date(e[11]), e[7], e[8], e[9]]; updateSinglePosition(e[0], lastPos[e[0]]); newMarker[e[0]] = true; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function createNewMarker(liveMap, e, currentPos, st) { var des = TypeDesignatorIcons[e[10]]; if (!des) { des = _single_prop; } const htmlc = (st ? "

" + e[9] + "

" : "") + "Korean Air Lines KE6 (KAL006) from Las Vegas to Seoul (5)"; const m = L.marker(currentPos, { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: e[0], opacity: e[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[e[0]] = m; markerType[e[0]] = des; newMarker[e[0]] = true; lastPos[e[0]] = [e[4], e[5], e[2], e[6], new Date(e[11]), e[7], e[8], e[9]]; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function removeUnusedMarkers(liveMap) { for (const m in marker) { if (!(m in newMarker) && m != activeHex) { liveMap.removeLayer(marker[m]); delete marker[m]; } }}function onPlaneClick(e) { if (sf != "") { return; } updateInProg = true; const liveMap = e.target._map; const hex = e.target.options.alt; if (hex == activeHex) { return; } const planeLatLng = e.target.getLatLng(); liveMap.setView(planeLatLng, liveMap.getZoom()); // Center the map to the clicked plane's location updateTrack(liveMap, `/${lang}/live/track_hex/${hex}`, hex, e);}function onMoveend(e) { localStorage.setItem('livemapCenter', JSON.stringify(e.target.getCenter())); localStorage.setItem('livemapZoom', e.target.getZoom()); updateMap(e.sourceTarget, false); } function onZoomed(e) { updateMap(e.sourceTarget, true) }// Define a utility function for creating a markerfunction createMarker(latLng, iconClass, htmlContent, alt, opacity) { return L.marker(latLng, { icon: L.divIcon({ className: iconClass, html: htmlContent }), alt: alt, opacity: opacity, }).on('click', onPlaneClick);}function updateTrack(liveMap, url, hex, e) { let prevCoord = null; let prevCoordFull = null; getData(url).then(function (ld) { if (!ld) { return; } const hadNoHex = hex === ""; if (hex === "" && url.includes("hex")) { hex = ld[0]; } else if (hex === "") { hex = ld[1]; } if (activeMarker && hex !== activeHex) { // Reset old marker const lp = lastPos[activeHex]; const des = markerType[activeHex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "Korean Air Lines KE6 (KAL006) from Las Vegas to Seoul (6)`; liveMap.removeLayer(marker[activeHex]); const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; markerType[activeHex] = des; document.getElementById("mi-" + activeHex).style.transform = "rotate(" + lp[2] + "deg)"; activeMarker = m; } // Set new marker const target = e ? e.target : marker[hex]; if (hex !== activeHex && target) { const lp = lastPos[hex]; const des = markerType[hex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "Korean Air Lines KE6 (KAL006) from Las Vegas to Seoul (7)`; const m = L.marker(target.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: hex, opacity: ld[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[hex] = m; liveMap.removeLayer(target); activeMarker = m; if (!e) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lp[2] + "deg)"; } } refreshsActive = true; recalcInProg = true; arcs = []; curArc = []; arcCol = ""; prevCoord = []; track = ld[25]; if (sf === "") { if (ld[0] !== "") { domElements.get("liveFlnr").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveFlnr").innerText = ld[0]; } else { domElements.get("liveFlnr").innerText = ""; domElements.get("liveFlnr").href = ""; } if (ld[21]) { domElements.get("liveAirline").innerText = ld[21]; } else { domElements.get("liveAirline").innerText = ""; } domElements.get("liveHex").innerText = ld[1]; if (ld[2] !== "" && ld[2] !== ld[0]) { domElements.get("liveCallsign").innerText = ld[2]; } else { domElements.get("liveCallsign").innerText = ""; } if (ld[3] !== "") { domElements.get("liveReg").href = `/${lang}/planes/${ld[3]}`; domElements.get("liveRegBlock").style.display = "block"; domElements.get("liveReg").innerText = ld[3]; } else { domElements.get("liveReg").innerText = "NA"; domElements.get("liveRegBlock").style.display = "none"; domElements.get("liveReg").href = ""; } if (ld[4] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveDep").innerText = ld[5]; domElements.get("liveDepIata").innerText = ld[23]; domElements.get("liveDepFlag").src = "/staticfiles/" + ld[6].toLowerCase() + ".svg"; domElements.get("liveDep").href = `/${lang}/airport/${ld[5]}/${ld[4]}`; domElements.get("liveDepIata").href = `/${lang}/airport/${ld[5]}/${ld[4]}`; domElements.get("liveDepTime").innerText = ld[11]; if (ld[19] && ld[19] !== "+0") { domElements.get("liveDepDelay").innerText = ld[19]; } else { domElements.get("liveDepDelay").innerText = ""; } } else { domElements.get("liveDep").innerText = "NA"; domElements.get("liveDepTime").innerText = ""; domElements.get("liveDepDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[7] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveArr").innerText = ld[8]; domElements.get("liveArrIata").innerText = ld[24]; domElements.get("liveArrFlag").src = "/staticfiles/" + ld[9].toLowerCase() + ".svg"; domElements.get("liveArr").href = `/${lang}/airport/${ld[8]}/${ld[7]}`; domElements.get("liveArrTime").innerText = ld[12]; if (ld[20] && ld[20] !== "+0") { domElements.get("liveArrDelay").innerText = ld[20]; } else { domElements.get("liveArrDelay").innerText = ""; } } else { domElements.get("liveArr").innerText = "NA"; domElements.get("liveArrTime").innerText = ""; domElements.get("liveArrDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[10] !== null) { domElements.get("liveLink").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveLink").style.display = "block"; } else { domElements.get("liveLink").style.display = "none"; } const lt = track[track.length - 1]; domElements.get("liveAlt").innerText = lt[3] + " ft"; domElements.get("liveSpeed").innerText = lt[5] + " kts"; domElements.get("liveTrack").innerText = lt[4] + "°"; if (ld[18] !== "") { domElements.get("planePic").src = ld[18]; domElements.get("planePic").style.display = "block"; } else { domElements.get("planePic").style.display = "none"; } if (ld[22]) { domElements.get("liveType").innerText = ld[22]; domElements.get("liveTypeBlock").style.display = "block"; } else { domElements.get("liveTypeBlock").style.display = "none"; domElements.get("liveType").innerText = "NA"; } } // update upper items if relevant const liveStatusInd = domElements.get("liveStatusInd"); const liveStatusText = domElements.get("liveStatusText"); if (liveStatusInd && true) { if (!domElements.has("liveTrackHB")) { domElements.set("liveAltHB", document.getElementById("liveAltHB")); domElements.set("liveSpeedHB", document.getElementById("liveSpeedHB")); domElements.set("liveTrackHB", document.getElementById("liveTrackHB")); domElements.set("liveDataHB", document.getElementById("liveDataHB")); } liveStatusInd.innerText = ld[17] ? "Live" : "Landed"; const lt = ld[25][ld[25].length - 1]; if (domElements.get("depTimeLiveHB")) { domElements.get("depTimeLiveHB").innerText = ld[11]; domElements.get("arrTimeLiveHB").innerText = ld[12]; domElements.get("depDelHB").innerText = ld[19]; domElements.get("arrDelHB").innerText = ld[20]; domElements.get("liveAltHB").innerText = lt[3]; domElements.get("liveSpeedHB").innerText = lt[5]; domElements.get("liveTrackHB").innerText = lt[4]; } if (!ld[17]) { domElements.get("liveDataHB").style.display = "none"; } } if (liveStatusText && ld[17]) { liveStatusText.innerText = ""; } if (ld[13] !== null && ld[14] !== null && track.length > 0 && Math.abs(ld[13] - track[0][1] / 1e5) > 1 && Math.abs(ld[14] - track[0][2] / 1e5) > 1) { arcs.push([[[ld[13], ld[14]], [track[0][1] / 1e5, track[0][2] / 1e5]], "lightgray", true]); } prevCoord = null; prevCoordFull = null; lp = null; for (const entr in track) { const p = track[entr]; if (p[1] === null || p[2] === null || p.length == 0) { continue; } let col = "green"; if (prevCoord && (Math.abs(prevCoord[0] - p[1] / 1e5) > 1 || Math.abs(prevCoord[1] - p[2] / 1e5) > 1)) { arcs.push([curArc, arcCol, false]); arcCol = ""; arcs.push([[[prevCoord[0], prevCoord[1]], L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])], "lightgray", true]); curArc = [L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])]; } else if (arcCol !== col) { if (curArc.length > 0) { arcs.push([curArc, arcCol, false]); } if (prevCoord) { curArc = [prevCoord]; } else { curArc = []; } arcCol = col; } prevCoordFull = [p[1] / 1e5, p[2] / 1e5, p[4], p[5], new Date(p[11]), p[3], false, ld[0]]; prevCoord = L.latLng(p[1] / 1e5, p[2] / 1e5, p[3]); curArc.push(prevCoord); if (p[4] !== 0) { lastTrack = p[4]; } } if (curArc.length > 0) { arcs.push([curArc, arcCol]); } if (ld[15] !== null && ld[16] !== null && prevCoord && (Math.abs(prevCoord.lat - ld[15]) > 0.1 || Math.abs(prevCoord.lng - ld[16]) > 0.1)) { arcs.push([[prevCoord, [ld[15], ld[16]]], "lightgray", true]); activeDest = L.latLng(ld[15], ld[16]); } for (const idx in tracks) { tracks[idx].remove(); } tracks = []; for (const idx in arcs) { const a = arcs[idx]; if (a[2]) { if (a[0][0][1] > a[0][1][1]) { const temp = a[0][0]; a[0][0] = a[0][1]; a[0][1] = temp; } p = L.Polyline.Arc(a[0][0], a[0][1], { color: a[1], noClip: true, vertices: 100 }); estTrack = p; } else { p = L.hotline(a[0], { palette: { 0: 'lightgray', 0.1: 'green', 0.5: 'yellow', 0.7: 'orange', 1: 'red' }, min: 0, max: 36000, outlineWidth: 0, weight: 4, noClip: true }); liveTrack = p; } p.addTo(liveMap); tracks.push(p); } if (prevCoordFull) { lastPos[hex] = prevCoordFull; } // only markers for live flights or from live flight tracks if (!hadNoHex || ld[17]) { if (prevCoord) { if (e) { const i = e.sourceTarget; i.setLatLng(prevCoord); activeMarker = i; if (lastTrack) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lastTrack + "deg)"; } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } } else { if (!activeMarker) { var des = TypeDesignatorIcons[ld[22]]; if (!des) { des = DefaultIcon; } activeMarker = L.marker(prevCoord, { icon: L.icon({ iconUrl: svgPathToURI(des.path,des.size,false,true), iconSize: liveMap._zoom > 7 ? sizes[0] : sizes[1] }), rotationAngle: prevCoordFull[2], rotationOrigin: "center center", opacity: 0.8, title: hex }).addTo(liveMap); } else { activeMarker.setLatLng(prevCoord); } } } if (e || hadNoHex) { // Only set refresh on first click or for live flight tracks (no hex given then) if (trackRefresh) { window.clearInterval(trackRefresh); } if (ld[17]) { trackRefresh = window.setInterval(function () { if (refreshsActive) { updateTrack(liveMap, url, hex, null); } }, 3000); } } } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } if (sf === "") { domElements.get("liveMapContainer").style.display = 'block'; if (document.getElementById("mapSearch")) { document.getElementById("mapSearch").style.display = 'none'; } } activeHex = hex; updateInProg = false; recalcInProg = false; });} function buildLiveMap(liveMap,activeHex) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); poiCanvas = L.canvas({ padding: 0.5 }); liveMap.addLayer(poiCanvas); updateMap(liveMap, false,activeHex); liveMap.on('zoomend', onZoomed); liveMap.on('moveend', onMoveend); } function buildTrackMap(liveMap, url) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); poiCanvas = L.canvas({ padding: 0.5 }); liveMap.addLayer(poiCanvas); updateTrack(liveMap, url, "", null); } loadScript("/js/leaflet.js?20220413" ,function() { // set up the map map = new L.map('map-flight',{sleep:false,minZoom:0, gestureHandling: false}); map.whenReady(() => map.gestureHandling?._handleMouseOver?.()); // create the tile layer with correct attribution map.fitBounds([[36.08,-233.56],[37.46333,-115.15222]]); viewSet = true; dep=[36.08,-115.15222]; arr=[37.46333,-233.56]; sf = "278373803"; buildTrackMap(map,"/en/live/track/278373803"); L.marker(dep).addTo(map); L.marker(arr).addTo(map); });

Altitude

ft

Speed

kts

Track

°

Full Screen Map

AIRLINE

NAME
Korean Air Lines

IATA / ICAO
KE / KAL

COUNTRY
South Korea
Airline Information

PLANE

MODEL
HL8208 Boeing B777-300ER

ICAO IDENTIFIER
71C208

SEAT CONFIGURATION
291 seats
8 First56 Business227 Economy

FIRST FLIGHT
Apr 2010
14 years ago
Plane Information

GENERAL ROUTE INFO

FREQUENCY:

daily
Sun, Mon, Tue, Wed, Thu, Fri, Sat

DIRECT DISTANCE
9,680km 6,016mi

FLIGHT TIME
13 hours 35 min

FLIGHTS / WEEK
9 Flights
PUNCTUALITY
1 Flights/week delayed
92% On-Time Performance
Delay Statistics

SEATS / WEEK
296 seats/Flight
11,840 seats/week
Route Info

CO2 EMISSIONS

Economy
1,707kg

Business
4,395kg

First
4,909kg

CURRENT FLIGHTS

DATE FLIGHT NUMBER FROM TO DEPARTED ARRIVED
22. Jan
Live
KE6 LAS -> ICN Las Vegas
10min late
Las Vegas (LAS / KLAS)
22 Jan 22:50PST
Seoul
1h 21min early
Seoul (ICN / RKSI)
24 Jan 05:20KST
22 Jan 23:00
10min late
24 Jan 03:58 *
1h 21min early
21. Jan
Landed
KE6 LAS -> ICN Las Vegas
15min late
Las Vegas (LAS / KLAS)
21 Jan 22:50PST
Seoul
38min early
Seoul (ICN / RKSI)
23 Jan 05:20KST
21 Jan 23:05
15min late
23 Jan 04:41
38min early
20. Jan
Landed
KE6 LAS -> ICN Las Vegas
28min late
Las Vegas (LAS / KLAS)
20 Jan 22:50PST
Seoul
14min early
Seoul (ICN / RKSI)
22 Jan 05:20KST
20 Jan 23:18
28min late
22 Jan 05:05
14min early
19. Jan
Landed
KE6 LAS -> ICN Las Vegas
2h 4min late
Las Vegas (LAS / KLAS)
19 Jan 22:50PST
Seoul
1h 37min late
Seoul (ICN / RKSI)
21 Jan 05:20KST
20 Jan 00:54
2h 4min late
21 Jan 06:57
1h 37min late
18. Jan
Landed
KE6 LAS -> ICN Las Vegas
27min late
Las Vegas (LAS / KLAS)
18 Jan 22:50PST
Seoul
49min early
Seoul (ICN / RKSI)
20 Jan 05:20KST
18 Jan 23:17
27min late
20 Jan 04:30
49min early

Show Calendar

CLAIM COMPENSATION

Flight delays happen, but that doesn’t mean you have to accept them. You may be entitled to as much as €600/$700 in compensation if your flight has been delayed, canceled or overbooked within the last three years.

CODESHARES

This flight is operated by Korean Air Lines as flight number KE6. Tickets are also sold as:

Delta Air Lines DL7832

FLIGHT CALENDAR

2025
January 21 Flights

2024
December 31 Flights
November 30 Flights
October 23 Flights
September 23 Flights
August 21 Flights
July 21 Flights
June 21 Flights
May 23 Flights
April 21 Flights
March 22 Flights
February 21 Flights
January 24 Flights

2023
December 22 Flights
November 22 Flights
October 18 Flights
September 17 Flights
August 17 Flights
July 18 Flights
June 19 Flights
May 21 Flights
April 18 Flights
March 17 Flights
February 12 Flights
January 16 Flights

2022
December 13 Flights
November 13 Flights
October 14 Flights
September 13 Flights
August 13 Flights
July 10 Flights

2020
March 10 Flights
February 29 Flights
January 32 Flights

2019
December 22 Flights
November 24 Flights
October 23 Flights
September 21 Flights
August 24 Flights
July 22 Flights
June 21 Flights
May 22 Flights
April 22 Flights
March 23 Flights
February 21 Flights
January 26 Flights

2018
December 26 Flights
November 22 Flights
October 22 Flights
September 21 Flights
August 22 Flights
July 22 Flights
June 22 Flights
May 22 Flights
April 21 Flights
March 23 Flights
February 20 Flights
January 22 Flights

2017
December 22 Flights
November 21 Flights
October 27 Flights
September 9 Flights

OTHER FLIGHTS OF THE SAME AIRLINE

Date / Status Flight Number Airline Departure Arrival
23. Jan
Landed
KE2201 KAL2201 GMP -> PEK Korean Air Lines
KE/KAL
23 Jan 09:27KST
8 hours ago
23 Jan 10:15CST
6 hours ago
23. Jan
Landed
KE2101 KAL2101 GMP -> HND Korean Air Lines
KE/KAL
23 Jan 09:12KST
8 hours ago
23 Jan 10:53JST
6 hours ago
23. Jan
Landed
KE2135 KAL2135 PUS -> FUK Korean Air Lines
KE/KAL
23 Jan 11:12KST
6 hours ago
23 Jan 09:42JST
8 hours ago
23. Jan
Landed
KE723 KAL723 ICN -> KIX Korean Air Lines
KE/KAL
23 Jan 09:21KST
8 hours ago
23 Jan 10:36JST
7 hours ago
23. Jan
Landed
KE185 KAL185 ICN -> TPE Korean Air Lines
KE/KAL
23 Jan 10:28KST
7 hours ago
23 Jan 11:36CST
5 hours ago

AIRLINE INFORMATION

FREQUENTLY ASKED QUESTIONS

How long is flight KE6?
The flight has a distance of 9,680.43 km (5,979.26 mi.) with an average flight time of 13 hours and 30 minutes.

How often does KE6 fly?
Flight KE6 is operated daily.

How many flights operate between Las Vegas and Seoul?
The route from Las Vegas to Seoul is served by 4 airline(s) with 9 flights per week. Its weekly capacity is 11,840.

How often is flight KE6 delayed?
On average, 9% of all flights are delayed. The average delay is 79 minutes.
Which airlines fly on this route?
This route is flown by: Asiana Airlines , Delta Air Lines , Korean Air Lines , Pixair Survey
If KE6 was delayed or cancelled, can I get compensation?
Flight delays happen, but that doesn’t mean you have to accept them. You may be entitled to as much as €600/$700 in compensation if your flight has been delayed, canceled or overbooked within the last three years.
-> Check Compensation
Korean Air Lines KE6 (KAL006) from Las Vegas to Seoul (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Ray Christiansen

Last Updated:

Views: 6359

Rating: 4.9 / 5 (69 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Ray Christiansen

Birthday: 1998-05-04

Address: Apt. 814 34339 Sauer Islands, Hirtheville, GA 02446-8771

Phone: +337636892828

Job: Lead Hospitality Designer

Hobby: Urban exploration, Tai chi, Lockpicking, Fashion, Gunsmithing, Pottery, Geocaching

Introduction: My name is Ray Christiansen, I am a fair, good, cute, gentle, vast, glamorous, excited person who loves writing and wants to share my knowledge and understanding with you.