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

The browser bundles expose newforms as a global forms variable and expects to find a global React variable to work with.

The uncompressed bundle is in development mode, so will log warnings about potential mistakes.

You can find it in the dist/ directory.


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