Nunjucks es un potente motor de plantillas para JavaScript, fuertemente inspirado en Jinja2 (Python). Los archivos con la extensión .njk son archivos de plantilla de Nunjucks que contienen una combinación de HTML (u otros lenguajes de marcado), CSS, JavaScript y sintaxis específica de Nunjucks. Esta sintaxis permite a los desarrolladores incrustar contenido dinámico, como variables, bucles y estructuras condicionales, directamente en la plantilla. Cuando el motor de Nunjucks procesa la plantilla, estos elementos dinámicos se evalúan y se reemplazan por sus valores correspondientes, generando un archivo de salida final, generalmente en formato HTML, listo para ser visualizado en el navegador del usuario. Las plantillas Nunjucks son fundamentales en el desarrollo web moderno para generar páginas dinámicas y correos electrónicos, promoviendo la reutilización de código y la separación de la lógica de presentación de la lógica de negocio. El motor ofrece características avanzadas como la herencia de plantillas (template inheritance), el escape automático de caracteres (auto-escaping) para mayor seguridad y filtros personalizados, lo que lo convierte en una herramienta extremadamente versátil para construir aplicaciones web complejas. Aunque se asocia comúnmente con Node.js, también es compatible con entornos de navegador.