DTL: a language and JavaScript lib to transform and manipulate data
DTL is a project that began it's life as part of a another piece of software for a startup I founded a few years ago. For that project I needed a way to describe how to rewrite data in a portable way. I needed to be able to create the rules on the fly and store them in a database, I needed them to be able to describe transformations I hadn't thought about, but also needed them to be safe and predictable. Though the startup didn't survive, the language I made was so useful to me I felt I had to extract it and make it usable to everyone. DTL is the result. Though the npm module is relatively…
In plain words
DTL is a language and JavaScript library for transforming and manipulating data through portable, reusable rules. Developers can define data transformation rules dynamically, store them in databases, and apply them to unanticipated use cases while maintaining predictable, safe execution. Originally built for a startup's internal needs, the language has operated reliably in production systems for years and is now released as an open-source tool designed for accessibility and ease of use.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
DTL is a project that began it's life as part of a another piece of software for a startup I founded a few years ago. For that project I needed a way to describe how to rewrite data in a portable way. I needed to be able to create the rules on the fly and store them in a database, I needed them to be able to describe transformations I hadn't thought about, but also needed them to be safe and predictable. Though the startup didn't survive, the language I made was so useful to me I felt I had to extract it and make it usable to everyone. DTL is the result. Though the npm module is relatively new, the language itself has been in use in production systems for years. Over the past couple of years I have been working to make it more accessible and useful to newcomers. Though it's really powerful, I tried to make it easy to use and simple to understand so that you can get up to speed quickly and use only as much as you need. To summarize: DTL is a javascript module and related CLI tools that are really handy for transforming data from one format to another. It's made to allow you to specify your transformations as data (JSON by default) which means they are easily shared from frontend to backend and vice versa, as well as making them easily stored in databases, etc. It can be used as part of your project to transform data between APIs, between the frontend and your database, etc. and can do simple mappings as well as complex calculations. It can also be used for validation and is really handy for extracting useful information from large / complex datasets (there are some great examples of this you can try on the website). The CLI tool (dtl) is like jq on sterooids, allowing you to slice, dice and remap csv, yaml, json or even plaintext data doing anything you can describe in a DTL transform. If you ever wished you could `grep` in complex data structures, today is your lucky day. :) I'd love any feedback you have and if you think of anything it doesn't have that it should, I'd love to hear that too.
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 1d ago · opentrailpaper.com

Launched alongside, April 2022
the whole month →- WA
Hi HN community, I’m Zach, founder and CEO of Warp, and am excited to show you Warp, a fast Rust-based terminal that’s easy to use and built for teams. As of today, Warp is in public beta and any Mac user can download it. It works with bash, zsh, and fish. The terminal’s teletype-like interface has made it hard for the CLI to thrive. After 20 years of programming, I still find it hard to copy a command’s output; I always forget how to use `tar`; and I always have to relearn how to move my cursor. To fix fundamental accessibility issues, I believe we need to start innovating on the terminal,…
Dev tools · 2022 · warp.dev
- SS
Life & fun · 2022 · slowsocial.us

- MY
Implement scanyourpdf.com in JavaScript. No backend servers needed.
Life & fun · 2022 · lookscanned.io

