NPM-FUND(1) NPM-FUND(1)

# [NAME](#NAME)

**npm-fund** - Retrieve funding information

## [Synopsis](#Synopsis)

```
npm fund [<package-spec>]
```

## [Description](#Description)

This command retrieves information on how to fund the dependencies of a given project. If no package name is provided, it will list all dependencies that are looking for funding in a tree structure, listing the type of funding and the url to visit. If a package name is provided then it tries to open its funding url using the **\\fB--browser\\fR config** *⟨/using-npm/config#browser⟩* param; if there are multiple funding sources for the package, the user will be instructed to pass the **--which** option to disambiguate.

The list will avoid duplicated entries and will stack all packages that share the same url as a single entry. Thus, the list does not have the same shape of the output from **npm ls**.

## [Example](#Example)

## [Workspaces support](#Workspaces_support)

It's possible to filter the results to only include a single workspace and its dependencies using the **\\fBworkspace\\fR config** *⟨/using-npm/config#workspace⟩* option.

## [Example:](#Example:)

Here's an example running **npm fund** in a project with a configured workspace **a**:

```
$ npm fund
test-workspaces-fund@1.0.0
+-- https://example.com/a
| | `-- a@1.0.0
| `-- https://example.com/maintainer
|     `-- foo@1.0.0
+-- https://example.com/npmcli-funding
|   `-- @npmcli/test-funding
`-- https://example.com/org


    `-- bar@2.0.0
```

And here is an example of the expected result when filtering only by a specific workspace **a** in the same project:

```
$ npm fund -w a
test-workspaces-fund@1.0.0
`-- https://example.com/a


  | `-- a@1.0.0


  `-- https://example.com/maintainer


      `-- foo@2.0.0
```

## [Configuration](#Configuration)

## **json**

- Default: false
- Type: Boolean

Whether or not to output JSON data, rather than the normal output.

•

In **npm pkg set** it enables parsing set values with JSON.parse() before saving them to your **package.json**.

Not supported by all npm commands.

## **browser**

- Default: macOS: **"open"**, Windows: **"start"**, Others: **"xdg-open"**
- Type: null, Boolean, or String

The browser that is called by npm commands to open websites.

Set to **false** to suppress browser behavior and instead print urls to terminal.

Set to **true** to use default system URL opener.

## **unicode**

- Default: false on windows, true on mac/unix systems with a unicode locale, as defined by the **LC\_ALL**, **LC\_CTYPE**, or **LANG** environment variables.
- Type: Boolean

When set to true, npm uses unicode characters in the tree output. When false, it uses ascii characters instead of unicode glyphs.

## **workspace**

- Default:
- Type: String (can be set multiple times)

Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.

Valid values for the **workspace** config are either:

- Workspace names
- Path to a workspace directory
- Path to a parent workspace directory (will result in selecting all workspaces within that folder)

When set for the **npm init** command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.

This value is not exported to the environment for child processes.

## **which**

- Default: null
- Type: null or Number

If there are multiple funding sources, which 1-indexed source URL to open.

# [SEE ALSO](#SEE_ALSO)

- npm help "package spec"
- npm help install
- npm help docs
- npm help ls
- npm help config
- npm help workspaces

October 2026 NPM@12.2.0

---

Document: npm-fund(1) from npm-12 12.2.0-r0 (Chainguard OS)
Source: https://github.com/npm/cli
