Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.
Alternatives To Dasel
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Dasel4,759147 days ago97November 28, 202329mitGo
Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.
Js Word1,2127484 years ago9July 21, 20203apache-2.0Rich Text Format
:black_nib: Word Processing Document Library
Gpxpy95227977a month ago38November 29, 202330apache-2.0Python
gpx-py is a python GPX parser. GPX (GPS eXchange Format) is an XML based file format for GPS tracks.
9 months ago26mitPython
Label Rotated Rect On Images for training
Python Evtx596288a year ago16March 22, 202119apache-2.0Python
Pure Python parser for recent Windows Event Log files (.evtx)
92 days ago2March 24, 201538lgpl-2.1C
A library to handle Apple Property List format in binary or XML
Stream Parser432
35 months ago14May 20, 20236mitPHP
⚡ PHP7 / Laravel Multi-format Streaming Parser
J341100286 years ago49December 05, 2017otherJavaScript
:x: Multi-format spreadsheet CLI (now merged in http://github.com/sheetjs/js-xlsx )
2 years ago4April 20, 202116apache-2.0Go
Format Agnostic jQ -- process various formats with libjq
Configurate33499 days ago8August 17, 202128apache-2.0Java
A simple configuration library for Java applications providing a node structure, a variety of formats, and tools for transformation
Alternatives To Dasel
Select To Compare

Alternative Project Comparisons


Gitbook Go Report Card PkgGoDev Test Build codecov Mentioned in Awesome Go GitHub All Releases Downloads GitHub License GitHub tag (latest by date) Homebrew tag (latest by date)

Dasel (short for data-selector) allows you to query and modify data structures using selector strings.

Comparable to jq / yq, but supports JSON, YAML, TOML, XML and CSV with zero runtime dependencies.

One tool to rule them all

Say good bye to learning new tools just to work with a different data format.

Dasel uses a standard selector syntax no matter the data format. This means that once you learn how to use dasel you immediately have the ability to query/modify any of the supported data types without any additional tools or effort.

Update Kubernetes Manifest

Table of contents


Dasel is available on homebrew, ASDF, scoop, docker, Nix or as compiled binaries from the latest release.

brew install dasel

You can also install a development version with:

go install github.com/tomwright/dasel/v2/cmd/dasel@master

For more information see the installation documentation.


echo '{"name": "Tom"}' | dasel -r json 'name'

See select documentation.

Convert json to yaml

echo '{"name": "Tom"}' | dasel -r json -w yaml
name: Tom

See select documentation.


echo '{"name": "Tom"}' | dasel put -r json -t string -v '[email protected]' 'email'
  "email": "[email protected]",
  "name": "Tom"

See put documentation.


echo '{
  "email": "[email protected]",
  "name": "Tom"
}' | dasel delete -r json '.email'
  "name": "Tom"

See delete documentation.


If you want to use completion from the terminal you can do the following (using zsh in this example):

Add the following to ~/.zshrc and reload your terminal.

export fpath=(~/zsh/site-functions $fpath)
mkdir -p ~/zsh/site-functions
dasel completion zsh > ~/zsh/site-functions/_dasel


Add dasel hooks to .pre-commit-config.yaml file

- repo: https://github.com/TomWright/dasel
  rev: v1.25.1
    - id: dasel-validate

for a native execution of dasel, or use:

  • dasel-validate-docker pre-commit hook for executing dasel using the official Docker images
  • dasel-validate-bin pre-commit hook for executing dasel using the official binary

Issue vs Discussion

I have enabled discussions on this repository.

I am aware there may be some confusion when deciding where you should communicate when reporting issues, asking questions or raising feature requests so this section aims to help us align on that.

Please raise an issue if:

  • You find a bug.
  • You have a feature request and can clearly describe your request.

Please open a discussion if:

  • You have a question.
  • You're not sure how to achieve something with dasel.
  • You have an idea but don't quite know how you would like it to work.
  • You have achieved something cool with dasel and want to show it off.
  • Anything else!



The official dasel docs can be found at daseldocs.tomwright.me.


You can test out dasel commands using the playground.

Source code for the playground can be found at github.com/TomWright/daselplayground.


In my tests dasel has been up to 3x faster than jq and 15x faster than yq.

See the benchmark directory.

Stargazers over time

Stargazers over time

Popular Format Projects
Popular Xml Projects
Popular Text Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Command Line
Data Structure
Devops Tools
Data Processing