skillfed

json-schema-for-humans

Generate static HTML documentation from JSON schemas

json-schema-for-humans v1.5.1 2.1M downloads/30d#3,322 on PyPI741
Permissive license Apache-2.0 Active released

What it is and what it does

json-schema-for-humans is a documentation generator that reads JSON Schema files and produces static HTML or Markdown pages describing the schema structure. It's built on Jinja2 templating with support for JSON Schema Draft-07 features including types, formats, constraints, combining schemas (oneOf, allOf, anyOf, not), and references—both internal and external (local files or URLs). The tool works both as a CLI command (generate-schema-doc) and as a Python library with methods for generating from files, filenames, or file objects.

The package is useful when you need human-readable schema documentation that can be hosted statically or embedded in existing documentation systems. It handles multiple input formats (JSON and YAML), supports different output templates, and generates anchor links for deep linking to specific schema sections. Since the output is static HTML or Markdown, it's faster to load and easier to host than dynamic documentation systems.

Use it for:

  • Generate API documentation from JSON Schema files for developer reference.
  • Create schema documentation in Markdown for inclusion in GitHub repositories or wikis.
  • Build static HTML schema docs to host on documentation sites without server-side processing.
  • Document configuration file schemas for command-line tools or applications.
  • Generate multiple schema docs in batch from a directory of schema files.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates static HTML or Markdown documentation pages from JSON Schema files, supporting JSON Schema Draft-07 with multiple templates and reference resolution.

Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and solves a clear problem—turning JSON schemas into readable documentation. It's mature (Development Status 6), supports current Python versions, and carries a permissive license. Install it if you need to document JSON schemas in static HTML or Markdown format.

Install

json-schema-for-humans on PyPI

pip

pip install json-schema-for-humans

uv

uv add json-schema-for-humans

poetry

poetry add json-schema-for-humans

Installing json-schema-for-humans

Before you install

Low install friction with a pure Python wheel and eight common dependencies (Jinja2, PyYAML, Pygments, click, dataclasses-json, markdown2, pytz, requests). Actively maintained with recent commits and a stable release cadence.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and note any modifications.

Quickstart

pip install json-schema-for-humans

from json_schema_for_humans.generate import generate_from_filename
from json_schema_for_humans.generation_configuration import GenerationConfiguration

config = GenerationConfiguration(copy_css=False, expand_buttons=True)
generate_from_filename("my_schema.json", "schema_doc.html", config=config)

Requires Python 3.9 or later (supports up to 3.14).

Verify before relying

  • Performance characteristics with very large or deeply nested schemas.
  • Whether circular reference handling covers all edge cases in practice.
  • Accessibility compliance of generated HTML output.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (<4.0,>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 8 — Jinja2, PyYAML, Pygments, click, dataclasses-json, markdown2, pytz, requests
Maintenance actively maintained — 266 days since the last release
Last repo commit
First released
Downloads 2,072,062/month — #3,322 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: json_schema_for_humans-1.5.1-py3-none-any.whl

Development Status :: 6 - MatureIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Documentation

Tags

json schema documentation generatorstatic html from json schemaschema to markdown converterjson schema visualizerapi documentation from schemaschema doc generator clijson schema to html
schema-documentationstatic-site-generation

More Documentation packages

docutils

Docutils converts plaintext documentation in…

unclear · top 1,000 on PyPI

Sphinx

Sphinx generates professional documentation…

permissive · top 1,000 on PyPI

griffe

Griffe extracts the complete structure and…

permissive · top 1,000 on PyPI

sphinxcontrib-serializinghtml

A Sphinx extension that outputs documentation…

permissive · top 1,000 on PyPI

alabaster

Alabaster is a clean, responsive Sphinx theme…

permissive · top 1,000 on PyPI

sphinxcontrib-htmlhelp

A Sphinx extension that generates HTML help…

permissive · top 1,000 on PyPI

jsonschema2md

Converts JSON Schema files to human-readable…

permissive · top 5,000 on PyPI

marshmallow-jsonschema

Converts marshmallow schemas into JSON Schema…

permissive · top 5,000 on PyPI

mkdocs-render-swagger-plugin

Renders Swagger and OpenAPI schemas as…

permissive · top 15,000 on PyPI

genson

GenSON generates JSON Schema documents from…

permissive · top 5,000 on PyPI

jsonschema-pydantic-converter

Converts JSON Schema definitions to Pydantic v2…

permissive · top 15,000 on PyPI

jsonschema-specifications

Provides JSON Schema metaschemas, vocabularies,…

permissive · top 100 on PyPI

json-ref-dict

Provides a dict-like interface to JSONSchema…

permissive · top 15,000 on PyPI

check-jsonschema

A command-line tool and pre-commit hook that…

permissive · top 5,000 on PyPI

essentials-openapi

Generates OpenAPI v2 and v3 documentation in…

permissive · top 15,000 on PyPI

jschon

Validates JSON data against JSON Schema (drafts…

permissive · top 15,000 on PyPI