<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/RMwTGgAfk" -->

---
title: hello-world-bfree/nvim-duckdb | daily.dev
description: nvim-duckdb is a Neovim plugin that integrates DuckDB via LuaJIT FFI, enabling SQL queries on CSV, JSON, and JSONL files directly from editor buffers. It...
canonical: https://daily.dev/posts/rmwtggafk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: hello-world-bfree/nvim-duckdb | daily.dev
og:description: nvim-duckdb is a Neovim plugin that integrates DuckDB via LuaJIT FFI, enabling SQL queries on CSV, JSON, and JSONL files directly from editor buffers. It...
og:url: https://daily.dev/posts/rmwtggafk
og:image: https://api.daily.dev/og/posts/RMwTGgAfk.png
og:image:alt: Post cover image
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# hello-world-bfree/nvim-duckdb

**[DuckDB dev](https://daily.dev/sources/duckdbdev)** · [@mehdio](https://daily.dev/mehdio) · 2 upvotes · 0 comments

## Summary

nvim-duckdb is a Neovim plugin that integrates DuckDB via LuaJIT FFI, enabling SQL queries on CSV, JSON, and JSONL files directly from editor buffers. It supports multi-buffer joins, schema inspection, data validation with inline diagnostics, and result export. The plugin provides interactive UI with floating windows, automatic file type detection, and leverages DuckDB's parser to identify and pinpoint data errors. Installation requires Neovim 0.7+ and the DuckDB shared library, with setup available through lazy.nvim, packer.nvim, or vim-plug.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://github.com/hello-world-bfree/nvim-duckdb>

## Similar posts on daily.dev

- [Using DuckDB inside MySQL](https://daily.dev/posts/using-duckdb-inside-mysql-9ccseeutn) · Planet MySQL · 0 upvotes · 0 comments
- [Fast meets Faster. Yowza.](https://daily.dev/posts/fast-meets-faster-yowza--j8ptinlcu) · Confessions of a Data Guy · 0 upvotes · 0 comments
- [Your Obsidian Vault Can Now Run SQL \(and Your Agent Can Read It\)](https://daily.dev/posts/your-obsidian-vault-can-now-run-sql-and-your-agent-can-read-it--p6d7mkyvd) · MotherDuck · 2 upvotes · 0 comments
- [GitHub - nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer](https://daily.dev/posts/github---nvim-treesitter-nvim-treesitter-nvim-treesitter-configurations-and-abstraction-layer-ugja5ewt3) · Lobsters · 2 upvotes · 1 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#duckdb](https://daily.dev/tags/duckdb), [#lua](https://daily.dev/tags/lua), [#sql](https://daily.dev/tags/sql)

[View this post on daily.dev](https://daily.dev/posts/rmwtggafk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/rmwtggafk","headline":"hello-world-bfree/nvim-duckdb","text":"Shared: hello-world-bfree/nvim-duckdb","url":"https://daily.dev/posts/rmwtggafk","datePublished":"2026-01-15T18:45:03.920Z","dateModified":"2026-03-15T06:21:15.797Z","author":{"@type":"Person","name":"mehdio","url":"https://daily.dev/mehdio","image":"https://avatars.githubusercontent.com/u/19834862?v=4","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":560}},"image":"https://media.daily.dev/image/upload/s--foaA6JGU--/f_auto/v1722860399/public/Placeholder%2004","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"sharedContent":{"@type":"WebPage","url":"https://api.daily.dev/r/Csl0c2aG3"},"isPartOf":{"@type":"WebPage","url":"https://daily.dev/squads/duckdbdev","name":"DuckDB dev"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DuckDB dev","item":"https://daily.dev/squads/duckdbdev"},{"@type":"ListItem","position":3,"name":"hello-world-bfree/nvim-duckdb"}]}
```

