NestJS ships with nine built-in pipes: ValidationPipe, ParseIntPipe, ParseFloatPipe, ParseBoolPipe, ParseArrayPipe, ParseUUIDPipe, ParseEnumPipe, DefaultValuePipe, and ParseFilePipe. Each handles a specific transformation or validation concern.
ValidationPipe — validates DTOs using class-validator; the most commonly used pipe.
ParseIntPipe — converts a string to an integer; throws 400 if not parseable.
ParseFloatPipe — converts a string to a float.
ParseBoolPipe — converts 'true'/'false' strings to boolean.
ParseArrayPipe — parses a comma-separated string or JSON array string into an array with optional per-item pipe.
ParseUUIDPipe — validates that a string is a valid UUID (v3, v4, or v5 configurable).
ParseEnumPipe — validates that a value belongs to a given TypeScript enum.
DefaultValuePipe — substitutes a fallback value when the input is undefined or null.
ParseFilePipe — validates uploaded files by size and MIME type.