Blog
Wild & Free Tools

Convert Azure DevOps Pipeline JSON to YAML — Free Online

Last updated: April 2026 7 min read
Quick Answer

Table of Contents

  1. The format flip — 15 seconds
  2. Classic JSON properties vs YAML equivalents
  3. Why bother converting format first
  4. Modern-native YAML pipeline example
  5. When the manual-rewrite path is faster
  6. Frequently Asked Questions

Azure DevOps is migrating teams from classic UI pipelines to YAML-in-repo pipelines. If you export a classic pipeline to JSON (via API or internal tools), converting the JSON to YAML gets you halfway to a repo-native pipeline. The conversion itself is one paste; the post-conversion mapping from classic task definitions to YAML task syntax is the real work. This guide covers both.

The Format Flip — 15 Seconds

  1. Export your classic pipeline to JSON via Azure DevOps REST API or the "Export" option.
  2. Paste into the converter.
  3. Click Convert. Copy the YAML.
  4. Save as azure-pipelines.yml in your repo.

At this point you have YAML — but it won't run as-is. Classic pipeline JSON uses different property names than YAML pipelines. Section 2 covers the mapping.

Classic JSON Properties vs YAML Equivalents

The classic pipeline JSON and the YAML pipeline schema are both Azure DevOps, but not the same schema. Key mappings:

Classic JSONYAML Equivalent
phases / phaseTypestages / jobs
tasks (array of objects)steps (array of tasks)
task.id (UUID)task: TaskName@version
inputs (map)inputs: (map, same)
queue.namepool: vmImage

After format conversion, you'll hand-rewrite these mappings. The converter gives you the text to edit, not a drop-in replacement.

Sell Custom Apparel — We Handle Printing & Free Shipping

Why Bother Converting Format First

Three reasons converting to YAML first is still valuable:

Skipping the format flip and writing YAML from scratch is fine if the pipeline is small. For a 300-task classic pipeline, converting first and then mapping task by task is faster.

Modern-Native YAML Pipeline Example

A finished YAML pipeline (not a conversion — the target end state):

trigger:
  - main

pool:
  vmImage: ubuntu-latest

steps:
  - task: UseNode@1
    inputs:
      version: "20.x"
  - script: npm ci
  - script: npm test

This is what your converted YAML should look like after the mapping work. Short, clear, easy to review in PRs.

When the Manual-Rewrite Path Is Faster

If your classic pipeline has fewer than ~15 tasks, writing the YAML pipeline from scratch is often faster than converting JSON and rewriting tasks. The YAML schema is well-documented and Azure DevOps provides a built-in assistant for common tasks.

Use the converter when:

Skip the converter when the pipeline is small enough to rewrite by hand.

Start the Classic-to-YAML Migration

Paste your JSON pipeline export, click Convert. Get a working YAML draft to refine.

Open Free JSON to YAML Converter

Frequently Asked Questions

Does Azure DevOps auto-convert classic pipelines to YAML?

Not reliably. Microsoft provides an "Export to YAML" option for some pipelines, but the output often needs manual fixes. A JSON export + manual conversion gives you more control.

Is the YAML output ready to run on Azure DevOps?

Not directly. The classic JSON schema differs from the YAML pipeline schema — specifically task IDs map to task names, phases become stages/jobs. Format conversion is step 1; task-property mapping is step 2.

Can I convert JSON in the reverse — YAML pipeline to classic?

Yes — our YAML to JSON converter does the reverse format flip. But classic pipelines are being deprecated; going backward from YAML to classic is unusual.

What about multi-stage classic pipelines?

Classic multi-stage pipelines export as JSON arrays of stages. Convert the whole JSON to YAML, then map each stage to a YAML stages block. Works the same as single-stage, just more mapping work.

Alicia Grant
Alicia Grant Frontend Engineer

Alicia leads image and PDF tool development at WildandFree, specializing in high-performance client-side browser tools.

More articles by Alicia →
Launch Your Own Clothing Brand — No Inventory, No Risk