De acuerdo con su sitio web, es un compilador para generar o construir Componentes Web (Web Components), siendo más específicos Custom Elements, combina conceptos de varios frameworks populares como React y Angular.
Stencil genera componentes web que cumplen con el estándar, los cuales ya contienen caracteristicas como:
- DOM virtual
- Async rendering (renderización asincrónica)
- Reactive data-binding (vinculación reactiva de datos)
- JSX
- TypeScript
Estos componentes pueden ser incluidos en frameworks como los que ya mencionamos, o ser utilizados sin framework alguno ya que son sencillamente componentes web, además, Stencil habilita algunas capacidades encima de los componentes como por ejemplo SSR (Server side rendering), objetos como propiedades en lugar de simplemente propiedades de tipo cadenas (strings), pre rendering, etc. Con el uso de JSX, DOM virtual y renderización asincrónica hacen que sea más fácil y rápido utilizar el API de Stencil para escribir componentes web que utilizar directamente Custom Elements.