Express express.urlencoded() Middleware

Beginner
⏱️ 9 min read
📚 Updated: May 2026
🎯 4 Code Examples

What you’ll learn

  • How express.urlencoded() parses form submissions.
  • How extended affects body parsing behavior.
  • How to configure safe payload limits.
  • How to combine URL-encoded and JSON parsers correctly.

Syntax

javascript
app.use(express.urlencoded({ extended: true }))
app.use(express.urlencoded({ extended: false, limit: '100kb' }))
1

Basic form parsing middleware

javascript
app.use(express.urlencoded({ extended: true }));

app.post('/contact', function (req, res) {
  res.json({ form: req.body });
});
2

Choosing extended option

javascript
app.use(express.urlencoded({ extended: false }));

❓ FAQ

It parses URL-encoded request bodies, usually sent by HTML forms, and stores parsed values in req.body.
extended controls how rich nested form objects are parsed. true allows richer object structures; false uses simpler parsing.
Yes, when your app accepts both form submissions and JSON requests.
Form values may not appear in req.body, causing handlers to see undefined inputs.
Yes. Use limit in options to guard against overly large request payloads.
Did you know?

express.urlencoded() parses URL-encoded form payloads and makes form fields available on req.body.

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

4 people found this page helpful