Tool.Yun
Handy værktøjer for udviklere
Beskær billede
Billede til SVG (potrace)
Billedfarveinverter
Billedformatkonverter
Billedsammenligning
Billedstørrelsesjustering
EXIF/Metadata/GPS/JPEG-kvalitetslæser for billeder
Fjern EXIF
Fjern billedets baggrund
GIF til MP4
HEIC-konverter
ICO/PNG-konverter
Kamera optager
OCRize billede og PDF
SVG-forhåndsvisning
Vandmærke
AGE Kryptografi
Argon2 Hasher
Bcrypt
Bech32-encoder/dekoder
CRC-beregner
CSR-generator
Certifikat-/nøgleparser
Dekryptering af Ansible Vault-kryptering
ECDSA-nøglepargenerator
Ed25519 nøglepargenerator
Filhasher
HMAC generator
Hash-tekst
JWT fortolker
JWT-generator
Jasypt-strengkryptering
Krypter / dekrypter tekst
Niceware Bytes til adgangskode
PGP-filkryptering
PGP-kryptering
PGP-nøglegenerator
Paseto/PASERK Lokal
Paseto/PASERK Offentlig/Privat
RSA nøglepar generator
RSA-kryptering
RSA/DSA/ECDSA-underskriver og -verifikator
SAML Parser
SSL-certifikatkonverter
Shamirs hemmelige deling
X509 certifikatgenerator
BMI-beregner
Forklar Shell-kommandoen
IBAN validator og fortolker
IES belysningsretningslinjer
ISBN-validator og parser
ISO 3166 landekodesøgning
ISO 639-søger
Kalenderkonverter
Kompatibilitet med softwarelicenser
Kreditkorttjekker
Luhn-validator
Løbetempoberegner
Momsnummervalidator
Online ordbog
RMB Store Bogstaver Konverter
SLA-beregner
Telefon fortolker og formatter
Unicode-søgning
Valutaomregner
Cron/Ugedagsalarm
Dageberegner
Dato+Varighedsberegner
Dato-tid konverter
ETA beregner
Hvilken dag?
ICAL-filparser
ICAL-generator
Nedtælling
Stop-ur
TTL-beregner
Tidsalarm
Tidszonekonverter
Ugetalkonverter
Varighedsberegner
iCal-fusion
Docker Compose Format Converter
Docker Compose Validator
Docker Compose til .env-fil
Docker Compose til Docker-kørselskonverter
Docker Compose til Quadlets
Docker Pangolin-etiketter
Docker run til Docker compose konverter
Docker-billeddownloader
Docker-inspektion for at køre Docker
Docker-kørsel til Kubernetes
Docker-kørsel til Quadlets
Docker-skrivning til Kubernetes
Dockerfile-etiketgenerator
Kubernetes RBAC-generator
Traefik Docker Compose Maker
Amortiseringsberegner
Accelerationskonverter
Arealenhedsomregner
Energienhedsomregner
Fitnesscomputer
Frekvensomformer
Hastighedskonverter
Illuminanskonverter
Kraftenhedskonverter
Længdeenhedskonverter
Madenergikonverter
Masseenhedsomregner
SI-præfikser konverter
Strømomformer
Temperaturkonverter
Trykenhedskonverter
Vinkelenhedskonverter
Volumenenhedskonverter
Volumenstrømningshastighedskonverter
Adgangskodegenerator
BIP39 adgangskode generator
Diceware adgangskodegenerator
Generator for tilfældige tal
NanoID-generator
Numeronym generator
OTP kode generator
Postkodegenerator
Token generator
UUID generator
UUID-konverter
CSV til JSON
JS til JSON konverter
JSON Linter
JSON difference
JSON minificering
JSON prettify og formatér
JSON til .env
JSON til C#
JSON til CSV
JSON til JS konverter
JSON til Java-enhed
JSON til MessagePack
JSON til TOML
JSON til TS
JSON til XML
JSON til YAML konverter
JSON til at gå
JSON til data
JSON til objekt
JSON-editor
JSON-fusion
JSON-sorteringsmaster
JSON-udjævning/ophævelse af udjævning
Jq/JSONPath-tester
Json Escaper/Unescaper
Json til PHP-array
Json til PHP-kode
Json til Python
Json til SQL DDL
Json til skema
Json-forespørgsel
Json-strengkonverter
Json-størrelsesanalysator
Meddelelsespakke til JSON
ObjGen til JSON
PHP-Array til JSON
tools.json-patch.name
Base64 Hex array-encoder/dekoder
Base64 filkonverter
Base64 streng koder/afkoder
Csv til data
E-mail normalisering
Egenskabskonverter
Energiforbrugs- og udgiftscomputer
Excel til data
Geografiske koordinatkonverter
Heltalsbase-konverter
Konverter til datalagringsenhed
Konverter til konvolutvariabler
Mange enheder konverter
Romertal konverter
Tekst til UTF-8 binær
Tekst til Unicode
Torrent til magnet
ULID generator
Unicode-tegn til Java-enheder konverter
dBm mW-konverter
Binær lommeregner
Drikkepengeberegner
Matematik OCR
Matematik evalueringsværktøj
Matematikformatkonverter
Trigonometrisk/ligningskurvevisualisator
Cron-udtryksbygger
Benchmark bygger
Billedformatberegner
Geografisk afstandsberegner
Procent lommeregner
Epub til Markdown
Forhåndsvisning af Markdown
Generator for markdown-tabel
HTML til markdown
Indsæt som Markdown
Markdown Lorem Ipsum
Markdown Table Pretifier
Markdown til HTML
Markdown til tekst
Markdown-editor
Markdown-indholdsfortegnelsesgenerator
Nedskrivning til DOCX
Nedskæring til data
Nedsættelsesforskel
tools.markdown-format-converter.name
ARPA-dekoder
Apache LogRotate Generator
BIMI DNS-generator
Basic auth generator
Chmod beregner
Cloudflare DNS/RDAP-forespørgsler
Crontab generator
DKIM DNS-generator
DMARC DNS-generator
DNS-forespørgsler
DNSBL-tjekker
Dataoverførselshastighedsberegner
FStab-generator
Generator for nedlukningskommandoer
HAS Desinfektionsmiddel
HDD-lommeregner
HTAccess-generator
Heltal til IPv4/IPv6
Htpasswd/htaccess-generator
IP-geografisk placering
IP-undernets ekskluderingsberegner
IPv4 adressekonverter
IPv4 rækkeudvider
IPv4 subnet beregner
IPv4-6/IPRange/CIDR i IPRange/CIDR/IPMaske
IPv4-undernetliste
IPv4/6-område til CIDR(er)-beregner
IPv6 ULA generator
IPv6-adressekonverter
Iptables Generator
Ipv4/6 CIDR til IP-områdeberegner
Ipv6-subnetberegner
Kodeords styrke analysator
Krøllekommandogenerator
Linearisering af Shell-kommandoer
MAC adresse generator
MAC-adressekonverter
Mikrofontester
Min IP-adresse
Multi-link downloader
Nginx-formateringsprogram
Option43-generator
PTR DNS-generator
Ping
Portnumre
Punycode-konverter
RAID-beregner
RAID-pålidelighedsberegner
Rsync-generator
SIP-autorisation
SPF DNS-generator
Shell-kommandoformatering
Slå MAC adresse op
TCP/UDP-porttester
Tilfældig port-generator
UFW-kommandogenerator
Visuel subnetberegner
WPA PSK-generator
Websocket-testning
Whois-tjekker
Wireguard-konfigurationsgenerator
X-VR-SpamCause-dekoder
ZPOOL RAID-beregner
ZPool snydeark
Zxcvbn adgangskodestyrke
firewalld kommandolinjegenerator
tools.restic-command-generator.name
tools.url-redirection-checker.name
HTML til PDF
PDF signaturkontrol
PDF-kompressor
PDF-tekstudtrækker
Pdf Linearize/FastWeb
Pdf-dekryptering og oplåsning
Pdf-kryptering
Pdf-sammenkædning
Pdf-sideudtrækker
ActiveDirectory LDAP-egenskabssøger
Cookie-parser
DMARC-rapportanalysator
DNS-forplantningstest
DNS-tester
Død pixel-tester
E-mail-parser
EMV TLV-dekoder
ETH-transaktionsdekoder
Filtypedetektor
Flydende kommatalkonverter
GZip/Deflate-konverter
HTTPS-tester
Hex-encoder/dekoder
Keycode info
MIME-kodningskonverter
Maskering af følsomme data
Middle-Endian-konverter
Modstandsberegner
MongoDB ObjectId-konverter
Nmap-kommandobygger
Outlook MSG-parser
Outlook Safelink-dekoder
Parketfiler Læser
Parser af afviste e-mails
RJ45 Cat6-ledningsføringssnydark
SMART Raw-konverter
Seriel portkonsol
SharePoint Share URL-afkoder
Snefnug-ID-udtrækker
TCDump-generator
Teksttegnsætdetektor/dekoder
URL fortolker
URL-bygger
Udvider af korte URL'er
键盘测试器
Almindelig Regex-snydeark
Bash snydeark
CSS-selektorer snydeark
Docker Compose cheatsheet
Docker SWARM snydeark
Docker-snydeark
Dockerfile snydeark
Git Semantic Commit Cheatsheet
Git snydeark
JSONPath Syntaks Cheatsheet
Jq snydeark
K8s snydeark
Markdown-snydeark
Nano-snydeark
Nginx snydeark
Powershell snydeark
Regex snydeark
Sed snydeark
Snydeark til skærmkommandoer
Tmux-kommando-snydeark
VIM-snydeark
XPath-syntaks-cheatsheet
Zellij-kommando-snydeark
chmod-kommando-snydeark
Kortvælger
Lykkehjul
Møntflipper
Terningkaster
GTIN-validator
QR kode generator
QR-kodedekoder
QR-kontaktinfogenerator
Stregkodegenerator
Stregkodelæser
WiFi QR kode generator
tools.epc-qrcode-generator.name
TOML Linter
TOML til JSON
TOML til YAML
AI-promptsplitter
ASCII kunsttekstgenerator
Billede til ASCII-kunst
Case konverter
Citationsgenerator
Emoji vælger
Finder af duplikerede linjer
Forskellige ord
GPT-token-encoder/dekoder
GPT-tokenestimator
Havfrueeksportør
I og L Checker
JSON til TOON
Levenshtein-lommeregner
Liste konverter
Lister Sammenlign
Lorem ipsum generator
Mappestrukturdiagram
Morsekodekonverter
Pak filer til AI
RSVP-læser
Regex-tester
Runekonverter
Sammenlign skrifttyper
Sed-kommandogenerator
Smart teksterstatning og linjebryder
Social linkdeler
Streng obfuskator
TOON til JSON
Tabulator til mellemrum
Tastaturlayoutkonverter
Tekst difference
Tekst til NATO-alfabetet
Tekst til Unicode-navne
Tekstoversætter
Tekststatistik
Tilfældig linjevælger
Udtræk tekst fra HTML
Unicode til GSM-7
Unicode-formatering
Zalgo Generator/Banner
ANSI Escape Tester
API-tests
CSS/JS Forskøn og minimer
Citatkonverter
Cli-kommandoeditor
Databaseoprettelsesværktøj
Databasetabelgenerator
Dataforfalsker
Django Secret Generator
Favicon-generator
Fildeler
GitIgnore-generator
Gitaattributgenerator
HEX-filkonverter
Javascript Obfuscator
Javascript Prettifier
Javascript Unfuscator/Unpacker
Json til Protobuf
Json til SQL INSERT
Json til Typescript
K6 load test script generator
Kode/Scripts-markør
Krøllekonverter
Mailto-generator
Open graph meta generator
Picomatch-tester
Pomodoro-timer
SQL prettify og formater
SQL-minifikator
SQL-parametergenerator
Stacktrace pænere
Strengeudløser
Stringgenerator til databaseforbindelse
Swagger UI-tester
Billede til CSS
CSS Gradientgenerator
CSS XPath-konverter
CSS-enhedskonverter
CSS-pænere
Enhedsoplysninger
Farve konvertering
Farvehjul
Farvekontrastkontrol
HTML WYSIWYG editor
HTML til XHTML
HTML til data
HTML-minimer
HTTP status koder
Html-forsmagningsværktøj
Html-renser
Kod/afkod URL-formatteret strenge
MIME typer
REM Pixel-konverter
SVG pladsholder generator
Slugify streng
URL-fanger
URL-renser
UTM URL-generator
Undslip HTML
Url-tekstsøgningsfragmentopretter
User-agent fortolker
ObjGen til HTML
XML formatter
XML til JSON
XML-linter
XPath-tester
XSLT-tester
YAML prettify og format
YAML til JSON konverter
YAML til TOML
YAML-fusion
YAML-udjævning/ophævelse af udjævning

Jq snydeark

JQ-kommando snydeark

jq is a command-line JSON processor: it slices, filters, maps and transforms structured data the way sed and awk do for text. A jq program is a filter — it takes an input, and produces an output.

# pretty-print a file
jq . data.json

# read from a pipe
curl -s https://api.example.com/users | jq '.[] | .name'

📦 Installation

brew install jq          # macOS
apt install jq           # Debian, Ubuntu
dnf install jq           # Fedora, RHEL
choco install jq         # Windows

🚩 Command-Line Flags

FlagDescription
-r, --raw-outputPrint strings without quotes — what you want for shell variables
-c, --compact-outputOne compact line per result instead of pretty-printed JSON
-n, --null-inputDo not read input; build JSON from scratch
-s, --slurpRead the whole input into one array
-e, --exit-statusExit non-zero when the last output is false or null
-j, --join-outputRaw output with no newline between results
--tab / --indent nIndent with tabs, or with n spaces
-S, --sort-keysSort object keys in the output
--arg name valuePass a string into the program as $name
--argjson name jsonPass parsed JSON in as $name
--slurpfile name fRead a whole file into $name as an array
--raw-input, -RTreat each input line as a string instead of JSON

🧭 Core Syntax

FilterDescription
.The identity filter — the input, unchanged
.fooThe value of field foo
.foo.barNested field access
.foo?Same, but stays quiet when the input is not an object
."odd key"A field whose name needs quoting
.[]Every element of an array (or every value of an object)
.[0]One element by index (-1 is the last)
.[2:4]A slice — see the table below
|Pipe: feed the result of the left filter into the right one
,Run both filters on the same input, emit both results
()Grouping
//Alternative: use the right side if the left is false/null
?Suppress errors from the preceding filter

📇 Objects

TaskFilter
List the keysjq 'keys' (keys_unsorted to keep order)
Does a key exist?jq 'has("foo")'
Pick a few fieldsjq '{name, id}'
Rename while pickingjq '{title: .name, ref: .id}'
Delete a keyjq 'del(.foo)'
Add 1 to every valuejq 'map_values(.+1)'
Merge two objectsjq '.a * .b' (deep) or jq '.a + .b' (shallow)
Object → array of pairsjq 'to_entries'
Array of pairs → objectjq 'from_entries'
Transform every entryjq 'with_entries(.value += 1)'
Build an object from valuesjq -n '{time: now, host: $ENV.HOSTNAME}'

📚 Arrays

Slicing and filtering

TaskFilter
Every elementjq '.[]'
First / lastjq '.[0]' / jq '.[-1]'
Range, first three, last twojq '.[2:4]', jq '.[:3]', jq '.[-2:]'
Numbers above a thresholdjq 'map(select(. >= 2))'
Objects matching a fieldjq '.[] | select(.id == "second")'
Several conditionsjq '.[] | select(.age > 18 and .city == "Oslo")'
By typejq '.[] | numbers' — also strings, booleans, nulls, arrays, objects, iterables, scalars, values
Test a string fieldjq '.[] | select(.name | test("^a"; "i"))'

Mapping and transforming

TaskFilter
Apply to every elementjq 'map(.+1)'
Pull one field out of eachjq 'map(.name)' or jq '.[].name'
Drop elements by indexjq 'del(.[1, 2])'
Concatenate nested arraysjq 'add'
Flattenjq 'flatten' (flatten(1) for one level)
Sortjq 'sort' / jq 'sort_by(.foo)'
Groupjq 'group_by(.foo)'
Deduplicatejq 'unique' / jq 'unique_by(.foo)'
Reversejq 'reverse'
Smallest / largestjq 'min', jq 'max_by(.price)'
Countjq 'length'
Sumjq 'map(.amount) | add'
Any / all matchjq 'any(.active)', jq 'all(.age > 18)'
A range of numbersjq '[range(2;4)]'
The type of each itemjq 'map(type)'

🔤 Strings & Formatting

TaskFilter
Interpolatejq -r '"\(.name) is \(.age)"'
Change casejq 'ascii_downcase' / ascii_upcase
Split and joinjq 'split(",")' / jq 'join(", ")'
Trim a prefix or suffixjq 'ltrimstr("v")' / rtrimstr(".json")
Match a regexjq 'test("^http")'
Replacejq 'sub("^v"; "")' / gsub("\\s+"; "-")
Capture named groupsjq 'capture("(?<host>[^:]+):(?<port>\\d+)")'
CSV / TSV outputjq -r '.[] | [.id, .name] | @csv'
Escape for a URL or shelljq -r '@uri "?q=\(.term)"', @sh
Base64jq -r '@base64' / jq -r '@base64d'
Object → JSON stringjq 'tojson' (and fromjson back)

🔀 Conditionals & Errors

# if / then / else — 'end' is required
jq 'if .age >= 18 then "adult" else "minor" end'

# several branches
jq 'if .n > 100 then "big" elif .n > 10 then "medium" else "small" end'

# fall back when a value is missing or null
jq '.nickname // .name'

# keep going when a filter would fail
jq '.items[]? // empty'

# turn a failure into a value of your own
jq 'try (.a.b.c) catch "not found"'

# stop with a message
jq 'if .id == null then error("id is required") else . end'

🧮 Variables, Functions & Reduction

# bind a value to a variable
jq '.items[] as $item | $item.name'

# pass values in from the shell
jq --arg env prod '.deploys[] | select(.env == $env)'
jq --argjson min 10 '.[] | select(.count > $min)'

# define a reusable function
jq 'def is_active: .status == "active"; map(select(is_active))'

# accumulate a value
jq 'reduce .[] as $x (0; . + $x.amount)'

# keep the intermediate results too
jq '[foreach .[] as $x (0; . + $x; .)]'

# read the environment
jq -n 'env.HOME'

🛠 Everyday Recipes

# pretty-print, sorted, and back to a file
jq -S . data.json > sorted.json

# one field, unquoted, for use in a shell variable
version=$(jq -r .version package.json)

# every key of every object, deduplicated
jq -r '[.[] | keys[]] | unique[]' data.json

# turn an array of objects into a CSV with a header row
jq -r '(.[0] | keys_unsorted), (.[] | [.[]]) | @csv' data.json

# merge two JSON files
jq -s '.[0] * .[1]' a.json b.json

# read newline-delimited JSON (one object per line)
jq -c '.event' events.ndjson

# turn plain text lines into a JSON array
printf 'a\nb\n' | jq -R -s 'split("\n") | map(select(length > 0))'

# find the path to every occurrence of a key
jq -c 'paths(scalars) as $p | {path: $p, value: getpath($p)}' data.json

# rewrite every string in a document
jq 'walk(if type == "string" then ascii_downcase else . end)' data.json

# use the exit status in a script
jq -e '.errors | length == 0' report.json && echo "clean"

📚 Resources

  • Manual
  • Try jq in the browser (jqplay)
  • Tutorial