A child theme in WordPress is a theme that inherits the design, templates, and functionality of another theme - known as the parent theme - while allowing developers and site owners to make customisations that are preserved independently of the parent theme's update cycle.
To understand why this matters, it helps to know what happens without a child theme. When you modify a WordPress theme's files directly and the theme author releases an update, those updates overwrite your changes. All custom code, adjusted templates, and style modifications are lost. A child theme solves this problem by keeping your customisations in a separate location. WordPress loads the parent theme's files by default, but wherever a matching file exists in the child theme, that version takes precedence. Your changes remain intact no matter how many times the parent theme is updated.
At a technical level, a child theme is itself a valid WordPress theme stored in its own folder inside wp-content/themes/. At minimum, it requires a single stylesheet (style.css) that includes a header comment declaring which theme is its parent. A functions.php file is typically added as well, allowing developers to enqueue the parent theme's styles and introduce additional PHP functionality without touching the original codebase. Any template file - such as single.php or header.php - placed inside the child theme folder will override its equivalent in the parent, giving fine-grained control over specific parts of the site.
Child themes are particularly useful when working with commercial or third-party themes, where direct modification is impractical and upstream updates are frequent. They are also a common approach when a developer wants to extend a well-maintained parent theme rather than build a new theme from scratch. In this sense, a child theme functions somewhat like a plugin - it extends existing functionality without altering the source - though it operates specifically within the theming layer of WordPress.
It is worth noting that the rise of Full Site Editing (FSE) and block themes in WordPress has introduced an alternative model for customisation. Block themes rely on a theme.json configuration file and the Site Editor rather than PHP template overrides, and the traditional child theme workflow applies somewhat differently in that context. WordPress does support child themes for block-based parent themes, but the conventions around template parts and global styles differ from the classic approach.
For anyone working with a classic WordPress theme and needing a reliable, upgrade-safe method of customisation, the child theme remains the standard and recommended approach in the WordPress ecosystem.