Node.js jest opartym na zdarzeniach, nieblokującym, asynchronicznym środowiskiem wykonawczym we / wy, korzystającym z silnika Google V8 JavaScript i biblioteki libuv. Służy do tworzenia aplikacji, które intensywnie wykorzystują możliwość uruchamiania JavaScript zarówno na kliencie, jak i po stronie serwera, a zatem korzystają z możliwości ponownego użycia kodu i braku przełączania kontekstu.