Last updated: Apr 29, 2026

Utility Types

Quick-return cheat sheet for TypeScript’s built-in utility types.

For more built-in helpers and intrinsic types, see the typescript repository.

Object & Union Utilities

// Awaited — unwrap Promise
type A = Awaited<Promise<string>>; // string

// Partial — all keys optional
type P = Partial<{ a: string; b: number }>; // { a?: string; b?: number }

// Required — all keys required
type R = Required<{ a?: string }>; // { a: string }

// Readonly — all keys readonly
type RO = Readonly<{ a: string }>; // { readonly a: string }

// Record — map keys to a value type
type R2 = Record<"a" | "b", number>; // { a: number; b: number }

// Pick — keep listed keys
type Pi = Pick<{ a: 1; b: 2; c: 3 }, "a" | "b">; // { a: 1; b: 2 }

// Omit — drop listed keys
type O = Omit<{ a: 1; b: 2; c: 3 }, "c">; // { a: 1; b: 2 }

// Extract — keep union members assignable to U
type E = Extract<"a" | "b" | 1, string>; // "a" | "b"

// Exclude — drop union members assignable to U
type Ex = Exclude<"a" | "b" | 1, string>; // 1

// Parameters — tuple of function param types
type Params = Parameters<(a: string, b: number) => void>; // [string, number]

// ConstructorParameters
type CP = ConstructorParameters<typeof Error>; // [message?: string]

// ReturnType
type RT = ReturnType<() => boolean>; // boolean

String Manipulation Types

Uppercase<T>;
Lowercase<T>;
Capitalize<T>;
Uncapitalize<T>;