PHPackages                             automattic/jetpack-forms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. automattic/jetpack-forms

ActiveJetpack-library[Utility &amp; Helpers](/categories/utility)

automattic/jetpack-forms
========================

Jetpack Forms

v7.14.0(1mo ago)316.6k↓33.3%11GPL-2.0-or-laterJavaScriptPHP &gt;=7.2CI passing

Since Jan 23Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/Automattic/jetpack-forms)[ Packagist](https://packagist.org/packages/automattic/jetpack-forms)[ RSS](/packages/automattic-jetpack-forms/feed)WikiDiscussions trunk Synced 1mo ago

READMEChangelogDependencies (35)Versions (208)Used By (1)

Jetpack Forms
=============

[](#jetpack-forms)

All things forms. This package currently contains the implementation for Jetpack's Contact Form module, Form blocks, and the new Jetpack Forms feedback dashboard.

Hierarchy
---------

[](#hierarchy)

```
.
├── src/
│   ├── blocks/                                      - Form blocks.
│   ├── contact-form/                                - Contact form module implementation.
│   ├── dashboard/                                   - Implementation for the new forms dashboard.
│   ├── service/                                     - Helpers for 3rd-party service integrations.
│   ├── class-jetpack-forms.php                      - Package entrypoint.
│
└── tools/                                           - Webpack configuration for all bundles in the package.
    ├── extract-icons.mjs                              - React → SVG icon extractor (see below).
    └── rasterize-icons.mjs                            - SVG → PNG icon rasterizer (see below).

```

See the individual subdirectories for more information.

Generating block icons for email templates
------------------------------------------

[](#generating-block-icons-for-email-templates)

Block field icons are defined as React components (`src/blocks/field-*/icon.{js,jsx,tsx}`) but need to be available as standalone files for email templates. Two scripts handle this:

1. **`extract-icons`** — Renders each React icon component to static SVG markup and writes `icon.svg` files.
2. **`rasterize-icons`** — Converts each `icon.svg` to a 48x48 retina PNG (`field-*@2x.png`) with transparent background, optimized for minimal file size.

Run the full pipeline:

```
pnpm generate-icons
```

Or run each step individually:

```
pnpm extract-icons     # React components → icon.svg
pnpm rasterize-icons   # icon.svg → icon@2x.png
```

Run these after adding or modifying any icon component in a `field-*` block directory.

Using this package in your WordPress plugin
-------------------------------------------

[](#using-this-package-in-your-wordpress-plugin)

If you plan on using this package in your WordPress plugin, we would recommend that you use [Jetpack Autoloader](https://packagist.org/packages/automattic/jetpack-autoloader) as your autoloader. This will allow for maximum interoperability with other plugins that use this package as well.

Security
--------

[](#security)

Need to report a security vulnerability? Go to  or directly to our security bug bounty site .

License
-------

[](#license)

forms is licensed under [GNU General Public License v2 (or later)](./LICENSE.txt)

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance89

Actively maintained with recent releases

Popularity31

Limited adoption so far

Community29

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor6

6 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

202

Last Release

56d ago

Major Versions

v2.1.0 → v3.0.02025-07-07

v3.1.0 → v4.0.02025-07-21

v4.0.1 → v5.0.02025-07-28

v5.5.0 → v6.0.02025-09-01

v6.22.0 → v7.0.02025-12-15

PHP version history (2 changes)v0.24.0PHP &gt;=7.0

v0.34.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/7c5869ecbb8e0eac7e8b8e0f3cf7bdd8d5fcdc4abc10a72281872c53f8639d44?d=identicon)[automattic](/maintainers/automattic)

![](https://www.gravatar.com/avatar/11609890f6e7a840715f4cfc9622d77ea64b7dfc024df5643fbf8471a18c00f3?d=identicon)[kraft](/maintainers/kraft)

![](https://www.gravatar.com/avatar/5326730499ec14e274f51b9bcc39db6aac0fb38b33849715aae0e2587a2b93df?d=identicon)[jeherve](/maintainers/jeherve)

![](https://www.gravatar.com/avatar/6e220e167e341c28b1aa10bf0bb0374999068329f8683d3187ee3cf6749b8837?d=identicon)[dereksmart](/maintainers/dereksmart)

---

Top Contributors

[![anomiex](https://avatars.githubusercontent.com/u/1030580?v=4)](https://github.com/anomiex "anomiex (327 commits)")[![enejb](https://avatars.githubusercontent.com/u/115071?v=4)](https://github.com/enejb "enejb (235 commits)")[![edanzer](https://avatars.githubusercontent.com/u/21228350?v=4)](https://github.com/edanzer "edanzer (217 commits)")[![CGastrell](https://avatars.githubusercontent.com/u/157240?v=4)](https://github.com/CGastrell "CGastrell (193 commits)")[![tbradsha](https://avatars.githubusercontent.com/u/32492176?v=4)](https://github.com/tbradsha "tbradsha (188 commits)")[![simison](https://avatars.githubusercontent.com/u/87168?v=4)](https://github.com/simison "simison (178 commits)")[![dhasilva](https://avatars.githubusercontent.com/u/8486249?v=4)](https://github.com/dhasilva "dhasilva (123 commits)")[![jeherve](https://avatars.githubusercontent.com/u/426388?v=4)](https://github.com/jeherve "jeherve (83 commits)")[![manzoorwanijk](https://avatars.githubusercontent.com/u/18226415?v=4)](https://github.com/manzoorwanijk "manzoorwanijk (72 commits)")[![lezama](https://avatars.githubusercontent.com/u/104869?v=4)](https://github.com/lezama "lezama (71 commits)")[![zinigor](https://avatars.githubusercontent.com/u/374293?v=4)](https://github.com/zinigor "zinigor (67 commits)")[![vianasw](https://avatars.githubusercontent.com/u/298685?v=4)](https://github.com/vianasw "vianasw (60 commits)")[![monsieur-z](https://avatars.githubusercontent.com/u/1620183?v=4)](https://github.com/monsieur-z "monsieur-z (53 commits)")[![ice9js](https://avatars.githubusercontent.com/u/8056203?v=4)](https://github.com/ice9js "ice9js (51 commits)")[![kraftbj](https://avatars.githubusercontent.com/u/88897?v=4)](https://github.com/kraftbj "kraftbj (49 commits)")[![coder-karen](https://avatars.githubusercontent.com/u/16754605?v=4)](https://github.com/coder-karen "coder-karen (47 commits)")[![sergeymitr](https://avatars.githubusercontent.com/u/1341249?v=4)](https://github.com/sergeymitr "sergeymitr (37 commits)")[![gmjuhasz](https://avatars.githubusercontent.com/u/36671565?v=4)](https://github.com/gmjuhasz "gmjuhasz (36 commits)")[![bindlegirl](https://avatars.githubusercontent.com/u/1242807?v=4)](https://github.com/bindlegirl "bindlegirl (35 commits)")[![darssen](https://avatars.githubusercontent.com/u/13239096?v=4)](https://github.com/darssen "darssen (33 commits)")

### Embed Badge

![Health badge](/badges/automattic-jetpack-forms/health.svg)

```
[![Health](https://phpackages.com/badges/automattic-jetpack-forms/health.svg)](https://phpackages.com/packages/automattic-jetpack-forms)
```

###  Alternatives

[automattic/jetpack

Jetpack supercharges your self‑hosted WordPress site with the awesome cloud power of WordPress.com

3621.9k](/packages/automattic-jetpack)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
