An isomorphic JavaScript form-handling library for React.

(Formerly a direct port of the Django framework’s django.forms library)

Getting newforms


Newforms can be used on the server, or bundled for the client using an npm-compatible packaging system such as Browserify or webpack.

npm install newforms
var forms = require('newforms')


By default, newforms will be in development mode. To use it in production mode, set the environment variable NODE_ENV to 'production' when bundling. To completely remove all development mode code, use a minifier that performs dead-code elimination, such as UglifyJS.

Browser bundles

Browser bundles expose newforms as a global forms variable and expect to find a global React variable to work with.

newforms 0.10.0 (development version)

Uncompressed, with warnings about potential mistakes.

newforms 0.10.0 (production version)

Compressed version for production.


Newforms source code and issue tracking is on GitHub:



Unless specified otherwise, documented API items live under the forms namespace object in the browser, or the result of require('newforms') in Node.js.

  • Quickstart

    A quick introduction to defining and using newforms Form objects

  • Guide Documentation

    An overview of newforms concepts, and guide docs with examples

Documentation Contents

Guide Documentation