Overview
IDA type system fundamentals
The IDA type system is based on familiar C-like constructs such as:
Structures: Aggregate data types that group multiple members.
Unions: Allow overlapping the same memory with different data types.
Enums: Provide named integer constants.
IDA ships with type libraries out-of-the-box, but you can define custom types in the Local Types window.
Type definitions sources
Built-in or custom type libraries(.til files)
Custom types
Debug information (e.g., PDB or DWARF)
Type libraries
IDA ships with type libraries for popular platforms and operating systems. They provide high-level, predefined data types that can be used in your analysis. You can view a list of currently loaded type libraries in the Type Libraries window (View → Open subviews → Type Libraries, or Shift+F11)
Relation between Local Types and Type Libraries:
In IDA, Local Types are custom or imported type definitions specific to your current project, while Type Libraries provide pre-defined types for common platforms and architectures. Types in the Type Libraries, once referenced, are copied into the IDB and appear under the Local Types window.
Type library may contain:
function prototypes
typedefs
structure and enum definitions
See also
Type libraries in Igor's tip of the week blog post
Local Types view
The Local Types view provides a centralized hub for managing and customizing type definitions directly within the IDA UI. To access this view, navigate to View → Open subviews → Local Types or press Shift+F1 keys.

The Local Types view allows you to:
Create custom structures, unions, and enums
Modify and delete existing types
See also:
Refer to the Working with Types for a practical step-by-step tutorial covering the essentials of type management
Last updated
Was this helpful?
