1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <link rel="stylesheet" href="cesium/Widgets/widgets.css"> 5
5<script src="cesium/Cesium.js"></script>
5 6 7 <meta charset="UTF-8" /> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 9 <meta name="theme-color" content="#087bc1" /> 10 11 <title>RC Log Viewer â EdgeTX & Betaflight/iNAV Blackbox in 3D</title> 12 <meta name="description" content="Replay EdgeTX CSV and iNAV/Betaflight blackbox logs on a 3D globe with synced telemetry charts. Free, in-browser â logs never leave your machine." /> 13 <meta name="author" content="narenana" /> 14 <meta name="robots" content="index, follow, max-image-preview:large" /> 15 16 <!-- Canonical URL. The user-facing URL is on the www host; the 17 CF Pages preview/branch hostnames should not be the canonical 18 entry in search results. --> 19 <link rel="canonical" href="https://www.narenana.com/log-viewer/" /> 20 21 <!-- App mark: delta wing + cyan flight path on a dark tile. SVG is the 22 source of truth; PNGs rendered from it for manifest / touch icons. --> 23 <link rel="icon" type="image/svg+xml" href="./favicon.svg" /> 24 <link rel="icon" type="image/png" href="./icon-192.png" sizes="192x192" /> 25 <link rel="apple-touch-icon" href="./icon-192.png" /> 26 27 <!-- Open Graph --> 28 <meta property="og:type" content="website" /> 29 <meta property="og:site_name" content="narenana" /> 30 <meta property="og:locale" content="en_US" /> 31 <meta property="og:url" content="https://www.narenana.com/log-viewer/" /> 32 <meta property="og:title" content="RC Log Viewer â replay every flight in 3D" /> 33 <meta property="og:description" content="Drop EdgeTX CSV or iNAV / Betaflight blackbox logs. Replay your flight in 3D with synced telemetry charts. Browser-native â your logs never leave your machine." /> 34 <meta property="og:image" content="https://www.narenana.com/log-viewer/og-card.jpg" /> 35 <meta property="og:image:type" content="image/jpeg" /> 36 <meta property="og:image:width" content="1200" /> 37 <meta property="og:image:height" content="630" /> 38 <meta property="og:image:alt" content="RC Log Viewer â 3D flight replay on a satellite globe with synced telemetry charts" /> 39 40 <!-- Twitter Card --> 41 <meta name="twitter:card" content="summary_large_image" /> 42 <meta name="twitter:title" content="RC Log Viewer â replay every flight in 3D" /> 43 <meta name="twitter:description" content="Drop EdgeTX CSV or iNAV / Betaflight blackbox. Replay every flight in 3D with synced telemetry charts. Browser-native, nothing uploaded." /> 44 <meta name="twitter:image" content="https://www.narenana.com/log-viewer/og-card.jpg" /> 45 <meta name="twitter:image:alt" content="RC Log Viewer â 3D flight replay" /> 46 47 <!-- Schema.org SoftwareApplication. Makes the tool eligible for 48 Google's product / app-card rich results and gives Google 49 Search a concrete entity to associate with queries like 50 "iNAV blackbox viewer" or "EdgeTX log viewer browser". 51 price:0 is required for free apps under the SoftwareApplication 52 spec; omitting it disqualifies the card. --> 53
53<script type="application/ld+json"> 54 { 55 "@context": "https://schema.org", 56 "@graph": [ 57 { 58 "@type": "SoftwareApplication", 59 "@id": "https://www.narenana.com/log-viewer/#app", 60 "name": "RC Log Viewer", 61 "alternateName": ["narenana RC Log Viewer", "EdgeTX Log Viewer", "iNAV Blackbox Viewer", "Betaflight Blackbox Viewer"], 62 "url": "https://www.narenana.com/log-viewer/", 63 "applicationCategory": "UtilitiesApplication", 64 "applicationSubCategory": "Flight log analysis", 65 "operatingSystem": "Web Browser, Windows, macOS, Linux", 66 "browserRequirements": "Requires WebGL 2 and ES2022. Chrome 100+, Firefox 100+, Safari 16+.", 67 "description": "Drop EdgeTX CSV or iNAV / Betaflight blackbox logs and replay the entire flight on a 3D globe with synced telemetry charts. Runs entirely in the browser; nothing uploaded. Also ships as a desktop app for Windows, macOS, and Linux.", 68 "featureList": [ 69 "3D flight replay on a satellite globe (chase, tail, orbit and top-down cameras)", 70 "EdgeTX / OpenTX CSV telemetry logs", 71 "iNAV and Betaflight blackbox logs (.bbl, .bfl, .txt)", 72 "Live telemetry bar: battery per-cell voltage, altitude, speed, heading, attitude, stick inputs", 73 "Synced telemetry charts with playback scrubbing and bookmarks", 74 "100% client-side parsing â logs never leave your machine", 75 "Installable PWA, works offline" 76 ], 77 "image": "https://www.narenana.com/log-viewer/og-card.jpg", 78 "screenshot": "https://www.narenana.com/log-viewer/screenshot.jpg", 79 "offers": { 80 "@type": "Offer", 81 "price": "0", 82 "priceCurrency": "USD" 83 }, 84 "softwareVersion": "5.0.0", 85 "license": "https://www.gnu.org/licenses/gpl-3.0.html", 86 "sameAs": ["https://github.com/narenana/edgetx-log-parser"], 87 "author": { 88 "@type": "Organization", 89 "name": "narenana", 90 "url": "https://www.narenana.com/", 91 "sameAs": [ 92 "https://www.youtube.com/@narenana", 93 "https://github.com/narenana" 94 ] 95 }, 96 "isPartOf": { 97 "@type": "WebSite", 98 "name": "narenana", 99 "url": "https://www.narenana.com/" 100 } 101 }, 102 { 103 "@type": "VideoObject", 104 "@id": "https://www.narenana.com/log-viewer/#demo", 105 "name": "RC Log Viewer demo â replaying a fixed-wing flight log in 3D", 106 "description": "A real EdgeTX/iNAV flight log replayed on the 3D globe with synced telemetry.", 107 "thumbnailUrl": "https://img.youtube.com/vi/6MLQCoG5t2w/maxresdefault.jpg", 108 "uploadDate": "2026-04-26", 109 "embedUrl": "https://www.youtube.com/embed/6MLQCoG5t2w", 110 "contentUrl": "https://www.youtube.com/watch?v=6MLQCoG5t2w", 111 "publisher": { "@id": "https://www.narenana.com/log-viewer/#app" } 112 }, 113 { 114 "@type": "BreadcrumbList", 115 "itemListElement": [ 116 { "@type": "ListItem", "position": 1, "name": "narenana", "item": "https://www.narenana.com/" }, 117 { "@type": "ListItem", "position": 2, "name": "RC Log Viewer", "item": "https://www.narenana.com/log-viewer/" } 118 ] 119 } 120 ] 121 } 122 </script>
122 123 <link rel="stylesheet" href="./assets/family/fonts.css"><link rel="stylesheet" href="./assets/family/shell.css">
123<script type="module" crossorigin src="./assets/index-BX0sc_9O.js"></script>
123 124 <link rel="stylesheet" crossorigin href="./assets/index-sBzgzwSI.css"> 125<link rel="manifest" href="./manifest.webmanifest"></head> 126 <body> 127 <!-- Apply the saved theme BEFORE React mounts so there's no flash of 128 wrong theme on first paint. Falls back to light mode for first 129 visitors. App.jsx still owns the running state and persistence. --> 130
130<script> 131 (function () { 132 try { 133 var saved = localStorage.getItem('theme') 134 var theme = saved === 'dark' || saved === 'light' ? saved : 'light' 135 document.documentElement.dataset.theme = theme 136 var m = document.querySelector('meta[name="theme-color"]') 137 if (m) m.setAttribute('content', theme === 'dark' ? '#11151c' : '#f5f7fb') 138 } catch (_) { 139 document.documentElement.dataset.theme = 'light' 140 } 141 })() 142 </script>
142 143 144 <!-- ââ Static, crawlable landing shell âââââââââââââââââââââââââââââ 145 Real server-rendered content for search engines, AI assistants, 146 and no-JS visitors. React's createRoot().render() REPLACES the 147 children of #root wholesale on mount, so this doubles as the 148 pre-JS splash and never conflicts with hydration (there is none). 149 Keep this copy truthful and in sync with the app's empty state â 150 it must describe what the tool actually does, nothing more. --> 151 <style> 152 .seo-shell { max-width: 780px; margin: 0 auto; padding: 48px 24px 64px; 153 font-family: 'Segoe UI', system-ui, sans-serif; color: #2c3e5c; line-height: 1.6; } 154 .seo-shell h1 { font-size: 28px; line-height: 1.25; color: #0f1a2c; margin: 0 0 6px; } 155 .seo-shell .seo-tag { font-size: 16px; color: #4a5c80; margin: 0 0 28px; } 156 .seo-shell h2 { font-size: 18px; color: #0f1a2c; margin: 28px 0 8px; } 157 .seo-shell p, .seo-shell li { font-size: 14.5px; margin: 0 0 8px; } 158 .seo-shell ol, .seo-shell ul { padding-left: 22px; margin: 0 0 8px; } 159 .seo-shell table { border-collapse: collapse; font-size: 14px; margin: 6px 0 10px; } 160 .seo-shell th, .seo-shell td { border: 1px solid #d7dde8; padding: 6px 12px; text-align: left; } 161 .seo-shell th { background: #f5f7fb; color: #0f1a2c; } 162 .seo-shell dt { font-weight: 600; color: #0f1a2c; margin-top: 12px; } 163 .seo-shell dd { margin: 2px 0 0 0; } 164 .seo-shell a { color: #2272d8; } 165 .seo-shell .seo-foot { margin-top: 32px; font-size: 13px; color: #4a5c80; } 166 </style> 167 <div id="root"> 168 <div class="seo-shell"> 169 <h1>RC Log Viewer â replay EdgeTX & iNAV / Betaflight flight logs in 3D</h1> 170 <p class="seo-tag">Free and open-source. Runs entirely in your browser â your logs never leave your machine.</p> 171 172 <h2>How it works</h2> 173 <ol> 174 <li><strong>Open a log.</strong> Drop an EdgeTX CSV from your radio's SD card, or an iNAV / Betaflight blackbox file â or try a built-in sample flight.</li> 175 <li><strong>Watch the replay.</strong> Your whole flight is rebuilt on a 3D satellite globe with a chase camera, a live telemetry bar (battery per-cell voltage, altitude, speed, heading, attitude and stick inputs), and playback controls.</li> 176 <li><strong>Analyze it.</strong> Scrub the timeline, jump between takeoff / RTH / landing events, set bookmarks, and read synced charts for attitude, altitude, speed, battery and signal.</li> 177 </ol> 178 179 <h2>Supported log formats</h2> 180 <table> 181 <tr><th>Source</th><th>Format</th><th>Typical file</th></tr> 182 <tr><td>EdgeTX / OpenTX radios</td><td>SD-card telemetry logs (CSV)</td><td><code>Model-2026-04-26.csv</code></td></tr> 183 <tr><td>iNAV flight controllers</td><td>Blackbox logs</td><td><code>.bbl</code>, <code>.bfl</code>, <code>.txt</code></td></tr> 184 <tr><td>Betaflight flight controllers</td><td>Blackbox logs</td><td><code>.bbl</code>, <code>.bfl</code>, <code>.txt</code></td></tr> 185 </table> 186 187 <h2>Private by design</h2> 188 <p>Logs are parsed in your browser with WebAssembly. Nothing is uploaded, there are no accounts, and the viewer works offline once installed as an app. GPS traces of your flying spots stay on your machine.</p> 189 190 <h2>Guides for your firmware</h2> 191 <ul> 192 <li><a href="https://www.narenana.com/log-viewer/inav-blackbox-viewer/">iNAV blackbox viewer</a> â replay iNAV logs with GPS on a 3D globe.</li> 193 <li><a href="https://www.narenana.com/log-viewer/betaflight-blackbox-viewer/">Betaflight blackbox viewer</a> â read RC-input, attitude and battery charts in the browser.</li> 194 <li><a href="https://www.narenana.com/log-viewer/edgetx-log-viewer/">EdgeTX log viewer</a> â open SD-card telemetry CSV logs from your radio.</li> 195 <li><a href="https://www.narenana.com/log-viewer/open-bbl-file/">How to open a .bbl file</a> â what blackbox files are and how to view them online.</li> 196 <li>
196<a href="https://www.narenana.com/log-viewer/guides/">All guides</a> â enabling logging on EdgeTX, Betaflight and iNAV, reading a log, and analyzing a crash.</li> 197 </ul> 198 199 <h2>Frequently asked questions</h2> 200 <dl> 201 <dt>Is my flight log uploaded anywhere?</dt> 202 <dd>No. Parsing and 3D replay run entirely client-side. The only network traffic is fetching map imagery tiles.</dd> 203 <dt>How do I get logs off my radio?</dt> 204 <dd>Enable SD-card logging on your EdgeTX/OpenTX radio (a Special Function on a switch), fly, then copy the CSV from the <code>/LOGS</code> folder of the SD card.</dd> 205 <dt>Which firmware versions are supported?</dt> 206 <dd>EdgeTX and OpenTX CSV logs; iNAV blackbox up to 8.x and Betaflight blackbox up to 4.5.x (two independent parsers â most real-world files open fine).</dd> 207 <dt>My log has no GPS â is it still useful?</dt> 208 <dd>Yes. Without GPS you still get the telemetry bar and all synced charts (attitude, altitude, battery, signal); the 3D globe needs coordinates.</dd> 209 <dt>Does it work offline?</dt> 210 <dd>Yes â it's an installable PWA. After the first visit the viewer loads without a connection.</dd> 211 <dt>Is there a desktop app?</dt> 212 <dd>Yes, free Electron builds for Windows, macOS and Linux are on the <a href="https://github.com/narenana/edgetx-log-parser/releases">GitHub releases page</a>.</dd> 213 </dl> 214 215 <p class="seo-foot"> 216 <a href="https://www.narenana.com/log-viewer/?sample=fixed-wing&autoplay=1">Watch a sample flight</a> · 217 <a href="https://github.com/narenana/edgetx-log-parser">Source on GitHub (GPL-3.0)</a> · 218 <a href="https://www.youtube.com/watch?v=6MLQCoG5t2w">Video demo</a> · 219 Part of <a href="https://www.narenana.com/">narenana â free browser tools for RC pilots</a>, 220 alongside the <a href="https://sim.narenana.com">Nanawing FPV wing simulator</a>. 221 </p> 222 </div> 223 </div> 224 <noscript> 225 <p style="max-width:780px;margin:0 auto;padding:0 24px 40px;font-family:'Segoe UI',system-ui,sans-serif;color:#2c3e5c"> 226 RC Log Viewer needs JavaScript (and WebGL) to parse logs and render the 3D replay. 227 Everything above describes what it does; enable JavaScript to use it. 228 </p> 229 </noscript>� 230
230<script type="module" src="./assets/family/preview-links.js?v=release2"></script>
230<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"b422f6db56054ce1ba6e46c15ea15b34","r":1,"spa":2}' crossorigin="anonymous"></script>
230 231</body> 232</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.