{
  "spec_version": 2,
  "extractor_version": "0.2.0",
  "url": "https://penpot.app/",
  "final_url": "https://penpot.app/",
  "slug": "penpot.app",
  "captured_at": "2026-11-12T15:26:26.659Z",
  "title": "Penpot: The open-source design platform for teams.",
  "meta": {
    "description": "Penpot is the open-source design platform for teams building digital products at scale, enabling deeper collaboration across design, code, and AI workflows.",
    "og_title": "Penpot: The open-source design platform for teams.",
    "lang": "en"
  },
  "capture": {
    "variants": [
      {
        "name": "desktop-light",
        "width": 1440,
        "height": 900,
        "scheme": "light",
        "page_height": 7108,
        "full": "screens/desktop-light-full.png",
        "fold": "screens/desktop-light-fold.png"
      },
      {
        "name": "desktop-dark",
        "width": 1440,
        "height": 900,
        "scheme": "dark",
        "page_height": 7108,
        "full": "screens/desktop-dark-full.png",
        "fold": "screens/desktop-dark-fold.png"
      },
      {
        "name": "mobile-light",
        "width": 390,
        "height": 844,
        "scheme": "light",
        "page_height": 6080,
        "full": "screens/mobile-light-full.png",
        "fold": "screens/mobile-light-fold.png"
      },
      {
        "name": "mobile-dark",
        "width": 390,
        "height": 844,
        "scheme": "dark",
        "page_height": 6080,
        "full": "screens/mobile-dark-full.png",
        "fold": "screens/mobile-dark-fold.png"
      }
    ],
    "status": 200,
    "cookie_banner": "clicked \"Reject all\"",
    "warnings": [
      "desktop-light: network never idle (12s)",
      "desktop-dark: network never idle (12s)",
      "mobile-light: network never idle (12s)",
      "mobile-dark: network never idle (12s)"
    ],
    "element_count": 342,
    "render_quality": {
      "status": "ok",
      "reasons": [],
      "screenshot": "ok",
      "screenshot_reasons": []
    },
    "worker_os": "macos"
  },
  "color": {
    "scheme": "light",
    "palette": [
      {
        "hex": "#F5F8FB",
        "oklch": [
          0.978,
          0.005,
          247.9
        ],
        "role": "bg",
        "area": 0.4783,
        "uses": {
          "bg": 0.961,
          "text": 0.038,
          "border": 0.001,
          "fill": 0
        },
        "variants": [
          "#FAFAFA"
        ]
      },
      {
        "hex": "#151035",
        "oklch": [
          0.205,
          0.07,
          284.6
        ],
        "role": "text",
        "area": 0.2887,
        "uses": {
          "bg": 0.785,
          "text": 0.209,
          "border": 0.002,
          "fill": 0.004
        },
        "css_var": "--antd-colorTextBase"
      },
      {
        "hex": "#000000",
        "oklch": [
          0,
          0,
          0
        ],
        "role": "other",
        "area": 0.1353,
        "uses": {
          "bg": 0.967,
          "text": 0.033,
          "border": 0,
          "fill": 0
        }
      },
      {
        "hex": "#2AD3CF14",
        "oklch": [
          0.787,
          0.128,
          192.3
        ],
        "role": "other",
        "area": 0.0602,
        "uses": {
          "bg": 0,
          "text": 0,
          "border": 0,
          "fill": 1
        },
        "on_bg": "#E5F5F7",
        "variants": [
          "#2AD3CF1A"
        ]
      },
      {
        "hex": "#CE9FFF69",
        "oklch": [
          0.781,
          0.141,
          305.9
        ],
        "role": "other",
        "area": 0.0275,
        "uses": {
          "bg": 0,
          "text": 0,
          "border": 0,
          "fill": 1
        },
        "on_bg": "#E5D4FD"
      },
      {
        "hex": "#6B7280",
        "oklch": [
          0.551,
          0.023,
          264.4
        ],
        "role": "muted",
        "area": 0.0046,
        "uses": {
          "bg": 0,
          "text": 0.825,
          "border": 0.175,
          "fill": 0
        }
      },
      {
        "hex": "#14CECA",
        "oklch": [
          0.771,
          0.13,
          192.3
        ],
        "role": "accent",
        "area": 0.0025,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        }
      },
      {
        "hex": "#D1D5DB",
        "oklch": [
          0.872,
          0.009,
          258.3
        ],
        "role": "border",
        "area": 0.0014,
        "uses": {
          "bg": 0,
          "text": 0,
          "border": 1,
          "fill": 0
        },
        "variants": [
          "#CFD2D5"
        ]
      }
    ],
    "roles": {
      "bg": "#F5F8FB",
      "text": "#151035",
      "muted": "#6B7280",
      "accent": "#14CECA",
      "border": "#D1D5DB"
    },
    "accent_strategy": "dual-accent",
    "contrast": {
      "text_on_bg": 17.02,
      "muted_on_bg": 4.54,
      "accent_on_bg": 1.84
    },
    "gradients": [
      "radial-gradient(40% 39% at 50% 2%, rgba(42, 211, 207, 0.08), rgba(245, 248, 251, 0))",
      "radial-gradient(50% 60% at 50% 100%, rgba(206, 159, 255, 0.41) 0%, rgba(250, 250, 250, 0) 100%)",
      "radial-gradient(40% 60% at 51% 91%, rgba(42, 211, 207, 0.1), rgba(86, 185, 255, 0))"
    ],
    "dark_mode": {
      "responds_to_prefers_color_scheme": false
    },
    "declared_accents": [
      {
        "css_var": "--primary",
        "hex": "#31EFB8",
        "painted": false
      },
      {
        "css_var": "--antd-colorPrimary",
        "hex": "#1677FF",
        "painted": false
      }
    ],
    "accent_detail": {
      "method": "cta-chromatic",
      "cta": "#14CECA",
      "candidates": [
        {
          "hex": "#151035",
          "css_var": "--antd-colorTextBase",
          "controls": 0,
          "links": 0,
          "text": 40,
          "elements": 47,
          "fills": 20,
          "area": 0.2887,
          "score": 122.5,
          "strong": true
        },
        {
          "hex": "#14CECA",
          "controls": 2,
          "links": 0,
          "text": 0,
          "elements": 2,
          "fills": 0,
          "area": 0.00245,
          "score": 22.4,
          "strong": true
        },
        {
          "hex": "#F23AE5",
          "controls": 0,
          "links": 0,
          "text": 0,
          "elements": 1,
          "fills": 0,
          "area": 0.0002,
          "score": 7.2,
          "strong": false
        }
      ]
    },
    "highlights": []
  },
  "type": {
    "families": [
      {
        "family": "Work Sans",
        "css_family": "Work Sans",
        "role": "display",
        "roles": [
          "display",
          "body"
        ],
        "weights": [
          400,
          500,
          600,
          700
        ],
        "share": 1,
        "kind": "webfont",
        "classification": "unknown",
        "foundry": null,
        "stack": "\"Work Sans\"",
        "files": [
          "https://penpot.app/fonts/WorkSans-Regular.ttf",
          "https://penpot.app/fonts/WorkSans-Medium.ttf",
          "https://penpot.app/fonts/WorkSans-SemiBold.ttf",
          "https://penpot.app/fonts/WorkSans-Bold.ttf"
        ],
        "internal_names": [
          "Work Sans Medium",
          "Work Sans SemiBold",
          "Work Sans"
        ]
      }
    ],
    "declared_unused": [
      {
        "family": "Inconsolata",
        "css_family": "Inconsolata",
        "face_status": "unloaded",
        "css_mentions": 6
      },
      {
        "family": "Azeret Mono",
        "css_family": "Azeret Mono",
        "face_status": "unloaded",
        "css_mentions": 4
      },
      {
        "family": "Gota",
        "css_family": "gota",
        "face_status": "unloaded",
        "css_mentions": 1
      }
    ],
    "scale_px": [
      12,
      16,
      18,
      19,
      20,
      48,
      65,
      72
    ],
    "ratio": 1.285,
    "body_size": 16,
    "root_size": 16,
    "line_height": 1.5,
    "display_size": 72,
    "tracking_display": "0em",
    "case": "sentence",
    "styles": [
      {
        "name": "display",
        "family": "Work Sans",
        "size_px": 72,
        "weight": 400,
        "line_height": 1.2,
        "letter_spacing_em": 0,
        "sample": "Think and build digital products."
      },
      {
        "name": "headline",
        "family": "Work Sans",
        "size_px": 18,
        "weight": 700,
        "line_height": 1.5,
        "letter_spacing_em": 0,
        "sample": "Product"
      },
      {
        "name": "title",
        "family": "Work Sans",
        "size_px": 48,
        "weight": 400,
        "line_height": 1.2,
        "letter_spacing_em": 0,
        "sample": "UI Design"
      },
      {
        "name": "body",
        "family": "Work Sans",
        "size_px": 16,
        "weight": 400,
        "line_height": 1.5,
        "letter_spacing_em": 0,
        "sample": "Design responsive and rules-based interf"
      },
      {
        "name": "body-sm",
        "family": "Work Sans",
        "size_px": 12,
        "weight": 500,
        "line_height": 1.5,
        "letter_spacing_em": 0,
        "sample": "Any agent can design in Penpot."
      },
      {
        "name": "label",
        "family": "Work Sans",
        "size_px": 16,
        "weight": 500,
        "line_height": 1.5,
        "letter_spacing_em": 0,
        "sample": "MCP Server"
      }
    ],
    "mobile": {
      "body_size": 16,
      "display_size": 48
    }
  },
  "space": {
    "scale_px": [
      4,
      8,
      10,
      12,
      16,
      20,
      24,
      32,
      48
    ],
    "base": 4,
    "base_fit": 0.96,
    "density": 0.053,
    "section_padding_px": 73
  },
  "shape": {
    "radii_px": [
      8,
      10,
      9999
    ],
    "dominant_radius": 8,
    "border_usage": "hairline",
    "border_width_px": 1
  },
  "depth": {
    "shadows": [],
    "style": "flat"
  },
  "layout": {
    "container_px": 1200,
    "columns": 7,
    "hero": "centered+media-below",
    "nav": "top-sticky+transparent",
    "page_height_px": 7108,
    "section_count": 6
  },
  "motion": {
    "transitions": 62,
    "easing": "ease",
    "durations_ms": [
      100,
      600,
      1000
    ],
    "animations": [
      "Marquee_scrollRight__SV4yS"
    ]
  },
  "components": {
    "button-primary": {
      "backgroundColor": "#14CECA",
      "textColor": "#151035",
      "rounded": "8px",
      "padding": "12px 20px",
      "height": "48px",
      "fontFamily": "Work Sans",
      "fontSize": "16px",
      "fontWeight": 400,
      "sample": ""
    },
    "button-secondary": {
      "textColor": "#151035",
      "rounded": "8px",
      "padding": "12px 20px",
      "height": "50px",
      "fontFamily": "Work Sans",
      "fontSize": "16px",
      "fontWeight": 400,
      "border": "1px solid #151035",
      "sample": ""
    }
  },
  "imagery": {
    "media_share": 0.517,
    "dominant_colors": [
      {
        "hex": "#202123",
        "share": 0.295
      },
      {
        "hex": "#F5F8FB",
        "share": 0.219
      },
      {
        "hex": "#D2D3D5",
        "share": 0.07
      },
      {
        "hex": "#2F3233",
        "share": 0.063
      },
      {
        "hex": "#646B66",
        "share": 0.059
      },
      {
        "hex": "#0E0F12",
        "share": 0.052
      }
    ],
    "has_photography": null,
    "has_illustration": null
  },
  "stack": [
    "next.js",
    "google-tag-manager",
    "cloudflare"
  ],
  "sections": [
    {
      "index": 0,
      "kind": "nav",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": 0,
        "y": 0,
        "w": 1440,
        "h": 80
      },
      "bg": "#F5F8FB",
      "crop": "img/section-00-nav.webp"
    },
    {
      "index": 1,
      "kind": "logos",
      "kind_source": "dom",
      "confidence": 0.8,
      "bbox": {
        "x": 20,
        "y": 0,
        "w": 1400,
        "h": 80
      },
      "bg": "#FAFAFA",
      "crop": "img/section-01-logos.webp"
    },
    {
      "index": 2,
      "kind": "hero",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": 96,
        "y": 80,
        "w": 1248,
        "h": 1251
      },
      "heading": "Think and build digital products.",
      "bg": "#F5F8FB",
      "crop": "img/section-02-hero.webp"
    },
    {
      "index": 3,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 0,
        "y": 1331,
        "w": 1440,
        "h": 2386
      },
      "heading": "for every future.",
      "bg": "#F5F8FB",
      "crop": "img/section-03-features.webp"
    },
    {
      "index": 4,
      "kind": "feature-detail",
      "kind_source": "dom",
      "confidence": 0.45,
      "bbox": {
        "x": 0,
        "y": 3717,
        "w": 1440,
        "h": 2403
      },
      "heading": "Design Systems",
      "bg": "#F5F8FB",
      "crop": "img/section-04-feature-detail.webp"
    },
    {
      "index": 5,
      "kind": "footer",
      "kind_source": "dom",
      "confidence": 0.75,
      "bbox": {
        "x": 120,
        "y": 6120,
        "w": 1200,
        "h": 988
      },
      "heading": "Legal",
      "bg": "#151035",
      "crop": "img/section-05-footer.webp"
    }
  ],
  "images": {
    "manifest": "img/manifest.json",
    "count": 10
  },
  "review": {
    "threshold": 0.7,
    "needs_review": [
      "color.accent_strategy",
      "layout.columns",
      "layout.hero",
      "layout.section_count",
      "space.section_padding_px"
    ],
    "vision": "not-run"
  },
  "provenance": {
    "color.roles.bg": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.roles.text": {
      "source": "dom",
      "confidence": 0.92
    },
    "color.roles.muted": {
      "source": "dom",
      "confidence": 0.82
    },
    "color.roles.border": {
      "source": "dom",
      "confidence": 0.75
    },
    "color.roles.accent": {
      "source": "dom",
      "confidence": 0.75,
      "note": "fill of the primary button"
    },
    "color.accent_strategy": {
      "source": "dom",
      "confidence": 0.6,
      "note": "hue count over chromatic colors; product mockups rendered in the DOM inflate it",
      "needs_review": true
    },
    "color.palette": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.declared_accents": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.dark_mode": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.contrast": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.gradients": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.families": {
      "source": "dom",
      "confidence": 0.95,
      "note": "named from the @font-face rule that rendered (CDP platform fonts)"
    },
    "type.families[].roles": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.declared_unused": {
      "source": "dom",
      "confidence": 0.95
    },
    "type.scale_px": {
      "source": "dom",
      "confidence": 0.9
    },
    "type.body_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.display_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.styles": {
      "source": "dom",
      "confidence": 0.8
    },
    "type.ratio": {
      "source": "dom",
      "confidence": 0.7,
      "note": "geometric fit over the scale above body size"
    },
    "type.case": {
      "source": "dom",
      "confidence": 0.75
    },
    "type.line_height": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.tracking_display": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.base": {
      "source": "dom",
      "confidence": 0.93,
      "note": "share of paddings/margins/gaps on the base: 0.96"
    },
    "space.scale_px": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.section_padding_px": {
      "source": "dom",
      "confidence": 0.65,
      "needs_review": true
    },
    "space.density": {
      "source": "dom",
      "confidence": 0.85
    },
    "shape.radii_px": {
      "source": "dom",
      "confidence": 0.88
    },
    "shape.dominant_radius": {
      "source": "dom",
      "confidence": 0.8
    },
    "shape.border_usage": {
      "source": "dom",
      "confidence": 0.8
    },
    "depth.shadows": {
      "source": "dom",
      "confidence": 0.9
    },
    "depth.style": {
      "source": "dom",
      "confidence": 0.75
    },
    "layout.container_px": {
      "source": "dom",
      "confidence": 0.8
    },
    "layout.columns": {
      "source": "dom",
      "confidence": 0.6,
      "note": "most common grid track count; layout grids and card grids are not separated",
      "needs_review": true
    },
    "layout.nav": {
      "source": "dom",
      "confidence": 0.78
    },
    "layout.hero": {
      "source": "dom",
      "confidence": 0.6,
      "note": "geometric heuristic over the h1 and nearby media",
      "needs_review": true
    },
    "layout.section_count": {
      "source": "dom",
      "confidence": 0.6,
      "needs_review": true
    },
    "motion": {
      "source": "dom",
      "confidence": 0.8
    },
    "components": {
      "source": "dom",
      "confidence": 0.78
    },
    "stack": {
      "source": "dom",
      "confidence": 0.85,
      "note": "globals, script URLs and response headers"
    },
    "meta": {
      "source": "dom",
      "confidence": 0.99
    },
    "sections[].bbox": {
      "source": "dom",
      "confidence": 0.8
    },
    "sections[].kind": {
      "source": "dom",
      "confidence": 0.72,
      "note": "class-name and content-count heuristics; per-section confidence in sections[].confidence"
    },
    "imagery.media_share": {
      "source": "dom",
      "confidence": 0.8
    },
    "imagery.dominant_colors": {
      "source": "pixels",
      "confidence": 0.7,
      "note": "clustered screenshot pixels inside media boxes (approximate, OKLab ΔE 0.06 clusters)"
    }
  }
}