Workflows · Jobs · Steps · Triggers

GitHub Actions JSON to YAML
Converter

Convert JSON into a GitHub Actions workflow YAML file in seconds. Ideal for turning generated or templated pipeline definitions into the YAML format .github/workflows expects. Free, instant, and browser-based.

JSON
YAML

How to Convert JSON to a GitHub Actions Workflow

1

Paste your workflow JSON

Drop in the JSON describing your triggers (on), jobs, and steps.

2

Get workflow YAML

Valid GitHub Actions YAML appears instantly, with jobs and steps correctly nested.

3

Save under .github/workflows

Copy or download the file and commit it to .github/workflows/ to activate the pipeline.

Why GitHub Actions Uses YAML

GitHub Actions workflows must live in .github/workflows as YAML files. GitHub parses these YAML definitions to know which events trigger a run and which jobs and steps to execute.

Pipelines are increasingly generated by tools, templates, or scripts that emit JSON. Converting that JSON to YAML produces a file GitHub can read directly, without hand-translating braces into indentation.

Benefits for CI/CD Workflows

Drop-In Ready

Output is valid workflow YAML. Commit it to .github/workflows/ and your CI pipeline runs on the next push.

Reviewable Pipelines

Step ordering and conditions are obvious in YAML, making pipeline changes easy to review in a pull request.

Annotate Steps

Add # comments to explain why a step runs only on main or needs a specific permission — impossible in JSON.

Tokens Stay Local

Workflows reference secrets and tokens. Conversion happens in your browser, so nothing sensitive is transmitted.

Frequently Asked Questions

Will the YAML run as a GitHub Actions workflow?
Yes, provided your JSON follows the workflow structure (on, jobs, steps). The converter outputs standard YAML; commit it under .github/workflows/ and GitHub picks it up.
How is the 'on' trigger handled?
The on key converts directly, whether it is a single event string, a list of events, or a map with filters like branches and paths. All forms produce valid Actions YAML.
Are step expressions preserved?
Yes. Expressions such as ${{ github.sha }} are strings and convert verbatim, with quoting applied where YAML needs it so the expression stays intact.
Why do some values get quoted?
YAML quotes values that could be misread — for example a cron schedule or a version like 3.10. This is correct and GitHub interprets the quoted values properly.
Is my pipeline data private?
Completely. All conversion runs locally in your browser. Job definitions and any secret references never leave your machine.

Related Tools & Resources

© 2026 JSON YAML Converter