# portabletext/portabletext

Portable Text is a JSON based rich text specification for modern content editing platforms.

Repository: https://github.com/portabletext/portabletext
Canonical: https://ross.abutalabs.com/products/portabletext
Homepage: https://www.portabletext.org
License: MIT
License Family: permissive
Topics: text, portable-text, markup, json
Last push: 2026-07-15T02:47:03+00:00

## Health v2 (maintenance only)
Score: 74/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 92, release rhythm 35, longevity 100
- inputs: {"age_days": 2835, "days_push": 49, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1438, forks 21 (observed 2026-08-28T04:04:43.882143+00:00)

## What it is
Portable Text is a JSON-based open specification for structured block content (rich text, images, code, custom types) that can be serialized into any markup language like HTML, Markdown, or XML. The repository hosts the specification along with tooling including a React-based Portable Text Editor and serializers for rendering content in various frameworks.

## Use cases
- store rich text as structured JSON instead of HTML strings
- render rich text content as HTML, Markdown, or React components
- build a customizable block content editor in React
- serialize rich text to multiple output formats from one source
- implement real-time collaborative rich text editing
- embed custom content types like images or CTAs inside rich text

## When to choose
- you need a framework-agnostic rich text format that serializes to any markup
- you're building a content editing platform or CMS with structured block content
- you want a React editor with custom blocks, styles, and annotations
- you need real-time collaborative editing with rich text annotations

## When to avoid
- you just need simple Markdown or HTML storage without structured blocks
- you need a non-React editor without building your own tooling
- your project requires a WYSIWYG editor out of the box with no configuration

## Facets
- artifact type: library
- maturity: active
- function: serialization, markdown, json, templating, ui-components, form-handling
- domain: web-development, frontend, cms, documentation, text-editors
- platform: browser
- tags: rich-text, portable-text, content-specification, block-content, editor, json-specification, serialization, web-server, nodejs, react, javascript

## Member repositories
- portabletext/portabletext (main) score 74

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:43.882143+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:36:41.494933+00:00, confidence not recorded.
  - readme: https://github.com/portabletext/portabletext (fetched 2026-08-28T04:04:43.882143+00:00, sha 8509c8e2b57f)
  - homepage: https://www.portabletext.org (fetched 2026-08-29T11:47:40.060999+00:00, sha 59651b21e565)
  - site_page: https://www.portabletext.org/editor/getting-started (fetched 2026-08-29T11:47:40.063517+00:00, sha efec39e30910)
  - site_page: https://www.portabletext.org/introduction (fetched 2026-08-29T11:47:40.065727+00:00, sha 44658b37e944)
- Data as of 2026-08-30T08:39:29.467469+00:00.
