express.urlencoded()
Built-in middleware that parses URL-encoded form bodies into req.body.
Syntax
express.urlencoded([options]) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
options | object | No | `extended` (use the qs library for nested objects), `limit`, `parameterLimit`, `type`. |
Returns
function — A middleware function.
Examples
app.use(express.urlencoded({ extended: true }));
app.post('/login', (req, res) => {
res.send(`hello ${req.body.username}`);
});
Output
$ curl -X POST -d 'username=ada' localhost:3000/login
hello ada
app.use(express.urlencoded({ extended: false, limit: '10kb' }));
app.post('/x', (req, res) => res.json(req.body));
Output
$ curl -X POST -d 'a=1&b=2' localhost:3000/x
{"a":"1","b":"2"}
Notes
Parses `application/x-www-form-urlencoded` HTML form submissions.
`extended: true` allows nested objects/arrays (`a[b]=1`);
`false` is flat key/value only. Set a `limit`. All parsed values are
strings.