How to convert github actions workflow yaml to json
- Step 1Open the workflow YAML file — Copy the contents of your .github/workflows/*.yml file. For matrix builds, the entire matrix strategy block is preserved in the JSON output.
- Step 2Paste and convert — Paste the YAML into the converter. The output JSON preserves the exact structure: on triggers, jobs map, each job's runs-on, steps array, and env blocks.
- Step 3Extract the data you need — Use JSONPath or the JSON Path Extractor tool to pull specific fields — for example $.jobs.*.steps[*].uses to list all GitHub Actions used across all jobs for a dependency audit.
- Step 4Feed into your tooling — Pass the JSON to a custom security scanner, a workflow visualizer, a template engine that generates workflow variants, or a test that validates required steps are present in every job.
Frequently asked questions
How are GitHub Actions expression strings like ${{ secrets.TOKEN }} handled?+
Expression strings are preserved exactly as-is inside the JSON string values — they are not evaluated or resolved. The output will contain the literal string ${{ secrets.TOKEN }} which you can scan for pattern matching in a security audit.
Will YAML multiline run scripts (| block scalars) be preserved?+
Yes. YAML literal block scalars (|) are converted to JSON strings with \n newline escapes preserving every line of a multi-line shell script. Folded scalars (>) have their newlines collapsed to spaces as per the YAML specification.
Is the workflow file — including secret names — uploaded to JAD Apps?+
No. Parsing runs entirely in your browser using js-yaml. Workflow content, referenced secret names, and repository-specific environment configuration are never transmitted to JAD Apps servers.
Privacy first
Conversion runs locally in your browser. No file is uploaded — only metadata counters are saved for signed-in dashboard stats.