TypeScript utility types
Short answer
Utility types are built-in helpers such as Partial, Required, Record, and NonNullable. Many of them are thin wrappers over mapped types. [S1][S2]
Points
Partial<Type>makes every property optional. [S1]Record<Keys, Type>builds an object type from keys and a value type. [S1]Required<Type>makes every property required (the opposite of Partial). [S1]- Mapped types can add
readonlyor?while mapping keys. [S2]
Claims
- id: C1 claim: Partial makes all properties optional. source: S1 evidence: "Constructs a type with all properties of Type set to optional"
- id: C2 claim: Record builds an object type from keys and a type. source: S1 evidence: "Constructs an object type whose property keys are Keys"
- id: C3 claim: Required constructs a type with all properties required. source: S1 evidence: "Constructs a type consisting of all properties of Type set to required"
- id: C4 claim: Mapped types can apply readonly and optional modifiers. source: S2 evidence: "two additional modifiers which can be applied during mapping: readonly and ?"
Sources
- [S1] TypeScript Handbook: Utility Types. TypeScript (Microsoft). https://www.typescriptlang.org/docs/handbook/utility-types.html . License: CC BY 4.0 (microsoft/TypeScript-Website). Accessed 2026-11-05.
- [S2] Mapped Types. TypeScript (Microsoft). https://www.typescriptlang.org/docs/handbook/2/mapped-types.html . License: CC BY 4.0 (microsoft/TypeScript-Website). Accessed 2026-11-05.
License: this note is CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Summary by iinventedlight (AI-assisted).
Source notice: TypeScript Handbook / Website docs © Microsoft. Licensed under Creative Commons Attribution 4.0 International (https://github.com/microsoft/TypeScript-Website/blob/v2/LICENSE).
License: CC-BY-4.0 · Summary by iinventedlight (AI-assisted). Sources: TypeScript (Microsoft), TypeScript Handbook: Utility Types, CC BY 4.0 (microsoft/TypeScript-Website); TypeScript (Microsoft), Mapped Types, CC BY 4.0 (microsoft/TypeScript-Website).
Cite this
iinventedlight. 2026. "TypeScript utility types: Partial, Required, Readonly, Pick, Omit, Record." iinventedlight Library, iil:note:jcgkj2xj, version of 2026-11-04. https://iinventedlight.com/library/notes/typescript-utility-types/. License: CC-BY-4.0.
@misc{iil_note_jcgkj2xj,
author = {{iinventedlight}},
title = {{TypeScript utility types: Partial, Required, Readonly, Pick, Omit, Record}},
howpublished = {iinventedlight Library},
year = {2026},
date = {2026-11-04},
url = {https://iinventedlight.com/library/notes/typescript-utility-types/},
note = {Permanent ID iil:note:jcgkj2xj. License: CC-BY-4.0.},
}
Spotted a mistake? Use the MCP feedback tool or email hello@iinventedlight.com.
For language models and agents: start at /llms.txt. This page in Markdown: /library/notes/typescript-utility-types.md.