# Using URL-Encoded Form URL-Encoded Form is a widely-supported encoding on the web. It's most often used for serializing web forms sent via POST requests. This encoding is also used to send structured data in URL query strings. It is a relatively efficient encoding for sending small amounts of data. However, all data must be percent-encoded making this encoding suboptimal for large amounts of data. See the [Multipart](../multipart/getting-started.md) encoding if you need to upload things like files. !!! tip URL-Encoded Form integrates with [`Content`](https://api.vapor.codes/vapor/latest/Vapor/Protocols/Content.html) like all other encoding methods in Vapor. See [Vapor → Content](../vapor/content.md) for more information about the [`Content`](https://api.vapor.codes/vapor/latest/Vapor/Protocols/Content.html) protocol. Let's take a look at how to decode a `application/x-www-form-urlencoded` request. ## Decode Body Most often, you will be decoding `form-urlencoded`-encoded requests from a web form. Let's take a look at what one of these requests might look like. After that, we will take a look at what the HTML form for that request would look like. ### Request Here is an example `form-urlencoded`-encoded request for creating a new user. ```http POST /users HTTP/1.1 Content-Type: application/x-www-form-urlencoded name=Vapor&age=3&luckyNumbers[]=5&luckyNumbers[]=7 ``` You can see the `[]` notation is used to encode arrays. Your web form will need to use this notation as well. ### Form There are many ways to create a `form-urlencoded`-encoded request, but the most common is an HTML web form. Here is what the HTML form for this request might have looked like. ```html
``` Since we are not specifying a special `enctype` attribute on the `