urlencoded vs multipart
Definition
urlencoded and multipart are the two encodings an HTML form can use to package its data for a POST. application/x-www-form-urlencoded, the default, serializes fields as name=value pairs joined by ampersands, with special characters percent-escaped - compact, simple, and ideal for text. multipart/form-data, chosen with the form's enctype attribute, splits the body into parts separated by a boundary string, each part carrying its own small headers - heavier, but the only native way to send files, since binary data does not survive urlencoding.
The practical rule: use the default until a file input appears, then switch to multipart. A form set to multipart without needing it still works; a file input inside a urlencoded form silently sends only the filename.
A third encoding, application/json, is not something HTML forms produce on their own but is the lingua franca of JavaScript and server-to-server calls. A well-built endpoint accepts all three and treats them identically once parsed, so the choice of encoding is the sender's convenience, not a compatibility question.
How SheetLink Forms uses it
SheetLink Forms endpoints take all three encodings at the same URL: POST to https://sheetlinkforms.com/f/{token} as urlencoded, JSON, or multipart, and the fields flow into the same pipeline. File parts inside multipart bodies are dropped in the current release, bodies are capped at 256KB, and a body that cannot be parsed returns a 400. Whatever the encoding, field names that match your sheet's column headers map automatically.
Examples of each encoding are in the developer docs, and the live demo posts to a real endpoint you can inspect.
Related terms: Form endpoint · Form action · AJAX submit