Skip to content
Retrieve funding information


npm fund [<package-spec>]


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 --browser config 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.


Workspaces support

It's possible to filter the results to only include a single workspace and its dependencies using the workspace config option.


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

$ npm fund
[email protected]
+-- https://example.com/a
| | `-- [email protected]
| `-- https://example.com/maintainer
|     `-- [email protected]
+-- https://example.com/npmcli-funding
|   `-- @npmcli/test-funding
`-- https://example.com/org
    `-- [email protected]

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
[email protected]
`-- https://example.com/a
  | `-- [email protected]
  `-- https://example.com/maintainer
      `-- [email protected]



  • 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.


  • Default: OS X: "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.


  • 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.


  • 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.


  • Default: null
  • Type: null or Number

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

See Also

© npm, Inc. and Contributors
Licensed under the npm License.
npm is a trademark of npm, Inc.