Skip to content

Validate GitHub Actions workflow online

Validate a GitHub Actions workflow online by pasting the YAML. The schema ships with the page and is not fetched.

The schema is bundled in this site's JavaScript. Invalid YAML or a schema mismatch leaves the workflow unchanged. Expressions are not evaluated.

Ctrl+Enter or ⌘+Enter runs this tool immediately.

Workflow YAML

Waiting for input.

Parsing stays in this browser. Input is not uploaded or saved.

How to use this tool

  1. Paste a .github/workflows file, or load the sample CI job.
  2. Read the validation panel. YAML errors include a line and column. Schema errors use a JSON path.
  3. Fix the workflow yourself. The validator never rewrites it.

What this conversion loses

  • Action JavaScript is not run. uses: is only checked as a string against the schema.
  • Reusable workflow files and action.yml files named by uses are not loaded.
  • Expressions such as ${{ github.sha }} are not evaluated. The schema may accept them as strings.

Supported formats and limitations

  • One YAML document. A stream separated by --- is rejected.
  • The check uses SchemaStore github-workflow.json (draft-07), bundled at build time.
  • Remote $ref values are not present in that schema and are not fetched.
  • This does not call the GitHub API or verify that an action tag exists.
  • The file is not rewritten.

Examples

A valid push workflow

on and jobs are required. A job needs runs-on and steps.

on: push
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - run: echo ok

Missing jobs

The schema requires jobs. The panel names the missing property.

name: ci
on: push

Common errors and solutions

must have required property 'jobs'
Add a jobs mapping. A workflow with only on is incomplete.
must NOT have additional properties
Remove the unknown key. The schema does not allow extra top-level fields.
Tabs used for indentation
Replace the tab with spaces. The validator does not rewrite the file.

FAQ

How do I validate a GitHub Actions workflow online?
Paste a .github/workflows file. YAML is parsed, then checked against a bundled copy of github-workflow.json.
Is this a GitHub Actions YAML syntax checker?
It checks YAML syntax and the workflow schema. It does not run the workflow, resolve actions, or evaluate ${{ }} expressions.
Does this download the schema when I paste a file?
No. github-workflow.json is part of this site's JavaScript. Open DevTools → Network and confirm no request loads json.schemastore.org.
Is the workflow uploaded?
No. YAML parsing and schema checks run in your browser.

Privacy check

Open DevTools → Network, paste a document, and confirm no request carries the editor text. The page load and the Google tag still appear. Analytics events carry the tool name, never what you pasted.

Read next

Related tools

  • YAML validator

    Check YAML syntax without converting or rewriting it. Errors include a line and column when the parser provides them, and valid input is left unchanged.

  • JSON Schema validator

    Check a JSON document against a JSON Schema in the browser. Draft-07 and 2020-12 are supported, and remote $ref values are not fetched.

  • Kubernetes YAML syntax check

    Check the YAML syntax of a Kubernetes manifest, including files with more than one document. This does not check apiVersion, required fields, or unknown kinds.