OpenAPI Spec Validator — Swagger Compliance Checker

Validate OpenAPI 2.0 (Swagger) and OpenAPI 3.0/3.1 specification files for compliance, missing required fields, unresolved $ref paths, and schema errors. Paste JSON or YAML or upload a file — errors and warnings are listed by path with severity levels and actionable fix suggestions. All validation runs entirely in your browser.

API ToolsAPI & Backend
Loading tool...

How to Use OpenAPI Spec Validator — Swagger Compliance Checker

How to Use the OpenAPI Spec Validator

Step 1: Paste or Upload Your Spec

Paste your OpenAPI or Swagger specification directly into the textarea, or click Upload to load a .json, .yaml, or .yml file from your computer. Both JSON and YAML formats are fully supported.

Step 2: Load an Example (optional)

Click one of the example buttons to load a pre-built spec:

  • Minimal 3.0 — the smallest valid OpenAPI 3.0 spec
  • Petstore 3.0 — a complete API with schemas, parameters, and request bodies
  • Swagger 2.0 — a Swagger 2.0 spec with definitions and path parameters
  • With Errors — an intentionally broken spec showing common mistakes

Step 3: Click Validate Spec

Click Validate Spec to run validation. Results appear immediately in the right panel.

Step 4: Review the Status and Stats

The status card shows whether the spec is valid (green) or invalid (red). The stats grid shows the detected version (Swagger 2.0, OpenAPI 3.0, or 3.1), the number of paths, operations, and schemas defined, plus the total error and warning counts.

Step 5: Fix Issues

The Issues panel lists each error and warning with:

  • Path — the JSON path inside the document where the issue was found (e.g., #/paths/users/get/responses)
  • Message — a plain-English description of the problem
  • Fix suggestion — a specific action you can take to resolve it

Errors (red) indicate spec non-compliance. Warnings (amber) are best-practice recommendations that do not prevent the spec from being technically valid.

What the Validator Checks

  • Version fieldopenapi (3.x) or swagger (2.x) must be present at the root
  • info objecttitle and version are required; description is recommended
  • paths object — must be present; each path must start with /
  • Operations — each must have a responses object with at least one entry
  • Parameters — must include name and in with valid values; path parameters must match the URL template
  • $ref resolution — all internal $ref values must point to paths that exist in the document
  • Security — if root security is set, the corresponding scheme definitions must exist
  • Best practicesoperationId, summary/description, requestBody for POST/PUT/PATCH, and 2xx responses

Limitations

This is a structural validator based on the OpenAPI specification rules. It does not execute a full JSON Schema validation of property values, does not check external $ref URLs, and does not validate discriminator or oneOf/anyOf semantics. For full compliance testing, use the validator as a first pass and follow up with an official OpenAPI library in your build pipeline.

Frequently Asked Questions

Most Viewed Tools

📺

Screen Size Converter — Diagonal Dimension Tool

7,404 views

Calculate screen width and height from diagonal size and aspect ratio. Convert between inches and centimeters for displays, TVs, and monitors with instant dimension calculations.

Use Tool →
🖨️

DPI Calculator — Print Resolution Tool

5,691 views

Calculate DPI (dots per inch), image dimensions, and print sizes. Convert between pixels and physical dimensions for printing and displays.

Use Tool →
🔐

TOTP Code Generator — 2FA Testing Tool

3,909 views

Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.

Use Tool →
🔑

Password Entropy Calculator — Crack Time Estimator

3,835 views

Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.

Use Tool →
{}

JSONL Formatter — Line-by-Line Validator

3,785 views

Format, validate, and inspect JSON Lines (JSONL) and NDJSON files. Validates each line individually, reports parse errors by line number, outputs compact JSONL or a pretty-print preview, and lets you download the cleaned file.

Use Tool →
⏱️

Seconds to Time Converter — HH:MM:SS Formatter

3,741 views

Convert seconds to HH:MM:SS time format instantly with precise calculations and easy-to-read formatting.

Use Tool →
{ }

JSON to Zod — Schema Generator

3,644 views

Generate Zod validation schema code from a JSON sample object. Infers z.string(), z.number(), z.boolean(), z.array(), z.object(), and z.null() types automatically. Handles nested objects, arrays of objects with optional field detection, and outputs copy-ready TypeScript with import and z.infer type alias.

Use Tool →
🔐

TLS Cipher Suite Checker — Strength Analyzer

3,549 views

Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.

Use Tool →

Related API & Backend Tools

📄

API Pagination Calculator — Offset & Cursor Tool

Calculate offset, limit, cursor, and page-based pagination parameters for API responses. Generates Link headers and standard response headers instantly.

Use Tool →
🔀

CORS Header Generator — Cross-Origin Config Tool

Build CORS configuration headers interactively for web servers and APIs. Set allowed origins, methods, request headers, credentials, and preflight cache duration — then copy the generated Access-Control headers or ready-to-paste code snippets for nginx, Express.js, Flask, and .NET.

Use Tool →
🔁

Webhook Retry Config Calculator — Simulate Exponential Backoff & Jitter

Configure exponential backoff parameters and preview the full retry schedule for webhook delivery. Enter max attempts, initial delay, multiplier, jitter, and a max delay cap to instantly see each retry timestamp, cumulative elapsed time, jitter range, and which delays hit the cap. Supports presets for standard, aggressive, conservative, Stripe-style, and fixed-interval retry policies. Free and runs entirely in your browser.

Use Tool →
🔄

Postman to OpenAPI Converter — Spec Migration Tool

Convert Postman Collection v2.1 JSON to OpenAPI 3.0 specification format. Upload or paste your collection, and get a downloadable openapi.yaml or openapi.json with mapped paths, parameters, request bodies, and example responses.

Use Tool →

GraphQL Subscription Builder — Generate WebSocket Payloads and Client Queries

Build GraphQL subscription query strings and generate WebSocket connection code snippets for Apollo Client, urql, and graphql-ws. Define your operation name, variables, and selection fields visually, then copy the ready-to-use code.

Use Tool →
📊

GraphQL Cost Estimator — Analyze Query Complexity and Depth

Assign custom field weights to a GraphQL schema and calculate the total query complexity score. Paste any GraphQL query, configure per-field costs, and get a per-field breakdown table showing depth, multipliers, and cumulative cost.

Use Tool →
📋

API Changelog Generator — Automatically Detect Breaking Changes and Write Release Notes

Convert API change descriptions into structured Keep-a-Changelog format. Enter a version, date, and one change per line prefixed with its type (added, changed, deprecated, removed, fixed, or security). The tool instantly groups them into the canonical section order and outputs a ready-to-paste CHANGELOG.md block. Supports four real-world presets for REST API releases, breaking changes, patch releases, and unreleased work. Free and runs entirely in your browser.

Use Tool →
📡

Server-Sent Events (SSE) Formatter — Build and Debug Real-Time Streams

Build Server-Sent Events messages with id, event, data, retry, and comment fields for testing SSE endpoints. Fill in each field individually and instantly see the correctly formatted SSE message string with double-newline terminator. Supports multi-line data fields, keep-alive comment lines, and an escaped wire-format view. Five presets cover the most common SSE patterns. Free and runs entirely in your browser.

Use Tool →

Share Your Feedback

Help us improve this tool by sharing your experience

We will only use this to follow up on your feedback