Flutter widgets are building blocks of a Flutter app's user interface. They represent everything in the UI, from buttons and text to complex layouts. Widgets can be categorized into two types: StatelessWidget (immutable) and StatefulWidget (mutable).