Notepad++ plugin
Full conversion matrix
Every format submenu (YAML, JSON, CSV, Parquet) carries a conversion to every other format — you never have to work out which intermediate step gets you from CSV to Parquet yourself. YAML routes internally through JSON (via libyaml), and anything touching Parquet goes through the locally installed duckdb.exe.

YAML → JSON, preserving type and structure
Mappings become objects, sequences become arrays, and numbers/booleans/null keep their own JSON type instead of turning into strings. The reverse conversion (JSON → YAML) works the same way — handy when you want to save an API response as readable configuration.
Before
app:
name: orders-service
retries: 3
active: true
tags:
- billing
- ordersAfter
{
"app": {
"name": "orders-service",
"retries": 3,
"active": true,
"tags": ["billing", "orders"]
}
}CSV ↔ Parquet via duckdb.exe
Parquet is a binary, columnar format — not something to hand-edit. The plugin starts duckdb.exe as a separate process, has it run the conversion, and cleans up the intermediate steps itself. You get a new .parquet file (for CSV/JSON/YAML → Parquet) or a readable preview tab (for Parquet → anything else) without ever opening a terminal yourself.
Frequently asked questions
What if duckdb.exe isn't on my system?
Only the Parquet conversions and preview need duckdb.exe; YAML, JSON and CSV work amongst themselves without that dependency. On the Parquet tab of the settings you can specify a path, or leave it empty so the plugin searches your PATH and next to the plugin DLL itself.
Are column types preserved on CSV → Parquet?
duckdb.exe infers the type of each column during the conversion (number, date, text, and so on), just as it would for a regular CSV import into DuckDB.