DA
SOFTWARE

dasel

dasel is a command-line tool that uses one selection syntax to query, edit and convert structured data such as JSON, YAML, TOML, XML and CSV.

Version v3.11.2Windows x64MIT

Core purpose

dasel, short for Data-Select, uses a consistent selection syntax to query, edit and convert JSON, YAML, TOML, XML, CSV, HCL, INI and KDL. It fits scripts, CI jobs and operations workflows that need to read configuration fields, transform a document or make a controlled change.

Start with read-only queries

Structured formats differ in how they represent numbers, strings, arrays and null values. Conversion may also change indentation or field presentation. Begin by passing a small example through standard input, verify selectors and types, and write conversion output to a new file before testing any edit expression.

Automation boundaries

Pin the dasel version, input/output formats and encoding in CI, and add assertions for important fields. Do not print complete secrets into build logs or shell history. PowerShell quoting rules can change a selector, so test complex expressions separately before adding them to a batch job.

Maintenance note

This page was reviewed on 2026-08-23 against dasel 3.11.2, its supported structured formats, query/edit/convert workflows and the Windows amd64 standalone package.

SAVE TO CLOUD

Save to your cloud drive

Open the cloud drive to get the file directly, or save it for convenient access on another device.

Links checked 2026-08-06
Save first, access when you need itOn desktop, scan with the matching cloud-drive app. On mobile, tap the save button.
GUIDE

dasel Windows query and conversion guide

The package is a single Windows x64 executable. Begin with a read-only query, then test conversion and editing only on a backed-up example.

Before you start

  • Prepare a small JSON or YAML example without real credentials and retain the original file.
  • Account for PowerShell quoting, pipes and encoding when writing commands or scripts.
  • Decide the input and output format explicitly, especially for extensionless files or standard input.
01

Installation steps

  1. 01

    Place and name the executable

    Put dasel_windows_amd64.exe in a tools directory, optionally rename it to dasel.exe, and run a version or help command to verify execution.

  2. 02

    Choose how to call it

    Use the full path for occasional work. Add the directory to the user PATH for repeated use and keep the version visible in automation.

  3. 03

    Create test data

    Include objects, arrays, numbers and strings in a small fixture, then confirm that PowerShell encoding and line endings do not alter the input.

02

Quick start

  1. 01

    Query a nested field

    Pipe JSON to dasel, identify the JSON input format, select a nested field and verify both the returned value and its type.

  2. 02

    Convert between formats

    Specify JSON input and YAML output, write the result to a new file, and compare arrays, numbers, booleans and null values with the source.

  3. 03

    Test an edit on a copy

    Use an assignment expression on a duplicate, write the complete root object to a new file and review the diff before replacing any configuration.

Usage tips

  • Keep read-only queries, conversions and in-place edits as separate script steps so failures are easy to locate.
  • Pin the version and input encoding in CI to avoid generated-file changes after an upgrade or platform switch.
  • Avoid printing full configuration documents when they contain tokens, passwords or private keys.
Troubleshooting and uninstall

Why is a selector parsed incorrectly in PowerShell?

Use PowerShell-appropriate single quotes around the selector and validate a simple field first. Put complex expressions in a script file to reduce nested escaping.

Why did a field type change after conversion?

Check how the source and target formats represent numbers, strings, dates and null values, specify both formats explicitly and assert important fields before and after conversion.

  1. Remove the executable and PATH entryRemove the tools directory from the user PATH before deleting the executable, and retain a pinned copy if existing automation still calls it.
FAQ

Frequently asked questions

Which formats can dasel process?

The package documentation lists JSON, YAML, TOML, XML, CSV, HCL, INI and KDL. Specify or verify the input and output format before a conversion.

Does dasel preserve the original formatting automatically?

Queries, edits and conversions may change indentation, field order or representation. Copy the file, write to a new output and compare the result before replacing the source.

How is dasel different from jq?

dasel focuses on one selection syntax across multiple structured formats. If a workflow is JSON-only and already relies on jq conventions, jq may remain the more direct choice.

Does the download require an extraction code?

The Quark entry does not require one; the four-character code for the Baidu entry is shown beside its download entry.