{"slug": "lnav", "name": "lnav", "category": "terminal", "category_name": "Terminal and shell", "description": "", "recommenders": 5, "commenters": 6, "warners": 1, "score": 2.869, "rising": -0.31, "first": "2026-02-10", "latest": "2026-08-19", "why": "`lnav` is also an excellent local log viewer if you allow TUIs.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 1, "compare": 1, "warn": 0}, "spark": [0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "`lnav` is also an excellent local log viewer if you allow TUIs.", "kind": "", "icon": true, "domain": "lnav.org", "github_repo": null, "official_url": "https://lnav.org", "pricing": "", "aliases": ["lnav"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 789816721, "item_id": 49363545, "url": "https://news.ycombinator.com/item?id=49363545", "by": "hiAndrewQuinn", "date": "2026-08-19", "stance": "recommend", "quote": "`lnav` is also an excellent local log viewer if you allow TUIs.", "excerpt": "Do I have to give just one? I have a whole script to install them! https://github.com/hiAndrewQuinn/shell-bling-ubuntu Looking over this list I would recommend you check out `fd`, a much faster `find` with an interface that actually fits how people tend to use the tool. `lnav` is also an excellent local log viewer if you allow TUIs.", "context": "", "use_case": "viewing logs", "switched_from": "", "story": null}, {"id": 762578960, "item_id": 47661185, "url": "https://news.ycombinator.com/item?id=47661185", "by": "chrisweekly", "date": "2026-04-06", "stance": "recommend", "quote": "See also lnav (https://lnav.org), a mini-ETL CLI power tool.", "excerpt": "See also lnav (https://lnav.org), a mini-ETL CLI power tool.", "context": "", "use_case": "", "switched_from": "", "story": "Sheets Spreadsheets in Your Terminal"}, {"id": 760061872, "item_id": 47503867, "url": "https://news.ycombinator.com/item?id=47503867", "by": "packetlost", "date": "2026-03-24", "stance": "recommend", "quote": "it was extremely lightweight and effective.", "excerpt": "Aside from the bitmap font, this looks pretty much the same as it does now lol I'll also add I used lnav more recently for viewing logs from many small lab devices centralized via syslog, it was extremely lightweight and effective.", "context": "", "use_case": "Log file viewer", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 759987760, "item_id": 47499235, "url": "https://news.ycombinator.com/item?id=47499235", "by": "guessmyname", "date": "2026-03-23", "stance": "recommend", "quote": "Oh yeah! lnav is famous.", "excerpt": "Oh yeah! lnav is famous. I remember using it like a decade ago to monitor an array of web servers while at GoDaddy; good ol' times. First commit is from Sep 13, 2009: https://github.com/tstack/lnav/commit/b4ec432515e95e86ec9d711833b8cb34d0912546 . Woah! we\u2019re old. This is what the UX looked like back in the day: https://github.com/tstack/lnav/commit/bce2caa654160518ec11f603874e3fe105ab8992", "context": "", "use_case": "Log file viewer", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 751475536, "item_id": 46967221, "url": "https://news.ycombinator.com/item?id=46967221", "by": "pss314", "date": "2026-02-10", "stance": "recommend", "quote": "The lnav itself provides the markdown support", "excerpt": "Markdown reader using find, fzf and lnav find . \\( -path '*/vendor/*' -or -path '*/.git/*' -or -path '*/node_modules/*' \\) -prune -or -type f -name \"*.md\" -print | fzf | xargs lnav In the above command, the find command excludes directories such as \"vendor\" (golang), \".git\" (git) and \"node_modules\" (nodejs). The lnav itself provides the markdown support https://lnav.org/2022/08/06/markdown-support.html", "context": "", "use_case": "Markdown viewing in terminal", "switched_from": "", "story": "Markdown CLI viewer with VI keybindings"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 760041184, "item_id": 47502574, "url": "https://news.ycombinator.com/item?id=47502574", "by": "teh", "date": "2026-03-24", "stance": "warn", "quote": "there are a fair number of very recent stack and heap overflows", "excerpt": "Chrome uses sandboxing and a lot of safe tooling (wuffs, rust) for untrusted data. curl is heavily fuzzed and you still mostly control what you are downloading unless the target is compromised. With logs the attacker controls what goes into your logs. And you don't need to really look very hard, there are a fair number of very recent stack and heap overflows: https://github.com/tstack/lnav/issues?q=is%3Aissue%20heap%", "context": "", "use_case": "Terminal log viewing", "switched_from": "", "story": "Log File Viewer for the Terminal"}]}], "who": [], "tags": [], "use_cases": ["viewing logs", "log file viewer", "terminal log viewing", "markdown viewing in terminal", "viewing log files"], "compared": [{"slug": "find", "name": "find", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 760077840, "item_id": 47504865, "url": "https://news.ycombinator.com/item?id=47504865", "by": "tstack", "date": "2026-03-24", "stance": "recommend", "quote": "Things have gotten better over the years.", "excerpt": "Oof, sorry you had such a bad experience. > but there is no obvious way to exit. I tried Q,q It's not very responsive during initial indexing, which is something I need to improve. Pressing `q` should work to exit in general, though. Pressing CTRL-C three times in quick succession will force quit it. It would help to know which version you tried. Things have gotten better over the years. > I tried `man lnav` in separ", "context": "", "use_case": "Viewing log files in terminal", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 760062496, "item_id": 47503906, "url": "https://news.ycombinator.com/item?id=47503906", "by": "tstack", "date": "2026-03-24", "stance": "compare", "quote": "Yep, I would say the stiffest competition for lnav is the old tools", "excerpt": "Yep, I would say the stiffest competition for lnav is the old tools[1]. I would just hope folks could have an open mind and give \"new\" things a chance (although lnav has been on github for 17 years). [1] - https://lnav.org/2013/09/10/competing-with-tail.html", "context": "", "use_case": "Log file viewer", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 760050496, "item_id": 47503156, "url": "https://news.ycombinator.com/item?id=47503156", "by": "tstack", "date": "2026-03-24", "stance": "neutral", "quote": "I started it in 2007 when I needed to get practice with C++ for work.", "excerpt": "Speaking as the author, I too wish it was written in Rust. But, I started it in 2007 when I needed to get practice with C++ for work. At this point, there's so much code in lnav, rewriting would be a long process. There are some sub-components[1] that are written in Rust though. A new project called logana[2] is written in Rust and is headed in a good direction. Use/contribute to that if you're really interested. [1]", "context": "", "use_case": "", "switched_from": "", "story": "Log File Viewer for the Terminal"}], "threads": [{"url": "https://news.ycombinator.com/item?id=47498924", "title": "Log File Viewer for the Terminal", "mentions": 7}, {"url": "https://news.ycombinator.com/item?id=49314700", "title": "item 49314700", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49288296", "title": "GoAccess \u2013 open-source real-time log analyzer and interactive viewer", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47636456", "title": "Sheets Spreadsheets in Your Terminal", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46963865", "title": "Markdown CLI viewer with VI keybindings", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46464120", "title": "Assorted Less(1) Tips", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {"recommend": 1}, "2026-03": {"recommend": 2, "neutral": 1}, "2026-04": {"recommend": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"compare": 1, "recommend": 1}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 789816721, "item_id": 49363545, "url": "https://news.ycombinator.com/item?id=49363545", "by": "hiAndrewQuinn", "date": "2026-08-19", "stance": "recommend", "quote": "`lnav` is also an excellent local log viewer if you allow TUIs.", "excerpt": "Do I have to give just one? I have a whole script to install them! https://github.com/hiAndrewQuinn/shell-bling-ubuntu Looking over this list I would recommend you check out `fd`, a much faster `find` with an interface that actually fits how people tend to use the tool. `lnav` is also an excellent local log viewer if you allow TUIs.", "context": "", "use_case": "viewing logs", "switched_from": "", "story": null}, {"id": 788694049, "item_id": 49293378, "url": "https://news.ycombinator.com/item?id=49293378", "by": "guessmyname", "date": "2026-08-13", "stance": "compare", "quote": "lnav (https://lnav.org), which is quite popular too", "excerpt": "GoAccess is an awesome tool! If I recall correctly, it was developed as an alternative (Go port) of a popular log analyzer called lnav (https://lnav.org), which is quite popular too: https://news.ycombinator.com/from?site=lnav.org", "context": "", "use_case": "", "switched_from": "", "story": "GoAccess \u2013 open-source real-time log analyzer and interactive viewer"}, {"id": 762578960, "item_id": 47661185, "url": "https://news.ycombinator.com/item?id=47661185", "by": "chrisweekly", "date": "2026-04-06", "stance": "recommend", "quote": "See also lnav (https://lnav.org), a mini-ETL CLI power tool.", "excerpt": "See also lnav (https://lnav.org), a mini-ETL CLI power tool.", "context": "", "use_case": "", "switched_from": "", "story": "Sheets Spreadsheets in Your Terminal"}, {"id": 760061872, "item_id": 47503867, "url": "https://news.ycombinator.com/item?id=47503867", "by": "packetlost", "date": "2026-03-24", "stance": "recommend", "quote": "it was extremely lightweight and effective.", "excerpt": "Aside from the bitmap font, this looks pretty much the same as it does now lol I'll also add I used lnav more recently for viewing logs from many small lab devices centralized via syslog, it was extremely lightweight and effective.", "context": "", "use_case": "Log file viewer", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 760041184, "item_id": 47502574, "url": "https://news.ycombinator.com/item?id=47502574", "by": "teh", "date": "2026-03-24", "stance": "warn", "quote": "there are a fair number of very recent stack and heap overflows", "excerpt": "Chrome uses sandboxing and a lot of safe tooling (wuffs, rust) for untrusted data. curl is heavily fuzzed and you still mostly control what you are downloading unless the target is compromised. With logs the attacker controls what goes into your logs. And you don't need to really look very hard, there are a fair number of very recent stack and heap overflows: https://github.com/tstack/lnav/issues?q=is%3Aissue%20heap%", "context": "", "use_case": "Terminal log viewing", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 760018000, "item_id": 47501125, "url": "https://news.ycombinator.com/item?id=47501125", "by": "teh", "date": "2026-03-24", "stance": "neutral", "quote": "I use lnav where I trust the logs", "excerpt": "Super useful tool but need to be aware that this is reading potentially untrusted input (e.g. in the case of http request logs) and written in c++, so a possible attack vector. I use lnav where I trust the logs, but do wish a safe implementation existed.", "context": "", "use_case": "viewing logs", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 759987760, "item_id": 47499235, "url": "https://news.ycombinator.com/item?id=47499235", "by": "guessmyname", "date": "2026-03-23", "stance": "recommend", "quote": "Oh yeah! lnav is famous.", "excerpt": "Oh yeah! lnav is famous. I remember using it like a decade ago to monitor an array of web servers while at GoDaddy; good ol' times. First commit is from Sep 13, 2009: https://github.com/tstack/lnav/commit/b4ec432515e95e86ec9d711833b8cb34d0912546 . Woah! we\u2019re old. This is what the UX looked like back in the day: https://github.com/tstack/lnav/commit/bce2caa654160518ec11f603874e3fe105ab8992", "context": "", "use_case": "Log file viewer", "switched_from": "", "story": "Log File Viewer for the Terminal"}, {"id": 751475536, "item_id": 46967221, "url": "https://news.ycombinator.com/item?id=46967221", "by": "pss314", "date": "2026-02-10", "stance": "recommend", "quote": "The lnav itself provides the markdown support", "excerpt": "Markdown reader using find, fzf and lnav find . \\( -path '*/vendor/*' -or -path '*/.git/*' -or -path '*/node_modules/*' \\) -prune -or -type f -name \"*.md\" -print | fzf | xargs lnav In the above command, the find command excludes directories such as \"vendor\" (golang), \".git\" (git) and \"node_modules\" (nodejs). The lnav itself provides the markdown support https://lnav.org/2022/08/06/markdown-support.html", "context": "", "use_case": "Markdown viewing in terminal", "switched_from": "", "story": "Markdown CLI viewer with VI keybindings"}, {"id": 743684656, "item_id": 46480291, "url": "https://news.ycombinator.com/item?id=46480291", "by": "tstack", "date": "2026-01-03", "stance": "recommend", "quote": "It does not require the user to do anything.", "excerpt": "To elaborate on this, lnav (https://lnav.org) is always polling files to check for new data and will load it in automatically. It does not require the user to do anything. As far as following the tail of the file: if the focused line is at the end of the file, the display will scroll automatically; otherwise, the display will stick to the current position. Also, if there is a search active, matches in the new data wi", "context": "", "use_case": "Viewing log files", "switched_from": "", "story": "Assorted Less(1) Tips"}]}