Home › Resources & tools › Walking a directory in Node.js

Walking a directory in Node.js

To recursively walk through the directory tree and get the path of each file in the tree, use the following code snippet:

const fs = require("fs");
const path = require("path");

function walkDirectory(directoryPath: string) {
  return fs.readdirSync(directoryPath).flatMap((fileOrSubdirectory) => {
    const fileOrSubdirectoryPath = path.join(directoryPath, fileOrSubdirectory);
    if (fs.statSync(fileOrSubdirectoryPath).isDirectory()) {
      return walkDirectory(fileOrSubdirectoryPath);
    }
    return [fileOrSubdirectoryPath];
  })
};

const files = walkDirectory("/path/to/directory");

See also

"Hello, World!" Code Snippet Poster, JavaScript Programming Language
$14.99

A poster featuring the "Hello, World!" program in JavaScript programming language.

Months of the Year Poster, English-Labeled
$19.99

A poster featuring the names of the months of the year.

Phenolphthalein Molecule Poster, 2D Structure, English-Labeled
$19.99

A poster featuring the 2D structure of the phenolphthalein molecule.

2026 Wall Calendar, English-Labeled
$24.99

A wall calendar (2026).

In development
Māori–English Dictionary

A bilingual dictionary for learning and translating Māori to English.

Receiving email with Node.js

How to receive email in Node.js?

Safely creating new directories using the Node.js File System API

How to safely create directories using the native file system module in Node.js?

Loading npm dependencies from multiple registries

How to add npm dependencies from multiple package registries?

Generating data URLs in JavaScript

How to generate data URLs in JavaScript?

TypeScript Validator

Validate JSON against TypeScript types and interfaces.

All prices listed are in United States Dollars (USD). Visual representations of products are intended for illustrative purposes. Actual products may exhibit variations in color, texture, or other characteristics inherent to the manufacturing process. The products' design and underlying technology are protected by applicable intellectual property laws. Unauthorized reproduction or distribution is prohibited.