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>;