Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including tiny-glob with all npm packages installed. Try it out:

var tinyGlob = require("tiny-glob")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

tiny-glob v0.2.6

Tiny and extremely fast globbing

Tiny Glob

tiny glob

version travis AppVeyor downloads install size

Tiny and extremely fast library to match files and folders using glob patterns.

"Globs" is the common name for a specific type of pattern used to match files and folders. It's the patterns you type when you do stuff like ls *.js in your shell or put src/* in a .gitignore file. When used to match filenames, it's sometimes called a "wildcard".


npm install tiny-glob

Core Features

  • 🔥 extremely fast: ~350% faster than node-glob and ~230% faster than fast-glob
  • 💪 powerful: supports advanced globbing patterns (ExtGlob)
  • 📦 tiny: only ~45 LOC with 2 small dependencies
  • 👫 friendly: simple and easy to use api
  • 🎭 cross-platform: supports both unix and windows


const glob = require('tiny-glob');

(async function(){
    let files = await glob('src/*/*.{js,md}');
    // => [ ... ] array of matching files


glob(str, options)

Type: function
Returns: Array

Return array of matching files and folders This function is async and returns a promise.


Type: String

The glob pattern to match against.

OBS: Please only use forward-slashes in glob expressions. Even on windows


Type: String
Default: '.'

Change default working directory.

Type: Boolean
Default: false

Allow patterns to match filenames or directories that begin with a period (.).


Type: Boolean
Default: false

Return matches as absolute paths.


Type: Boolean
Default: false

Skip directories and return matched files only.


Type: Boolean
Default: false

Flush the internal cache object.


Though Windows may use /, \, or \\ as path separators, you can only use forward-slashes (/) when specifying glob expressions. Any back-slashes (\) will be interpreted as escape characters instead of path separators.

This is common across many glob-based modules; see node-glob for corroboration.


glob x 13,405 ops/sec ±1.80% (85 runs sampled)
fast-glob x 25,745 ops/sec ±2.76% (59 runs sampled)
tiny-glob x 102,658 ops/sec ±0.79% (91 runs sampled)
Fastest is tiny-glob
│ Name      │ Mean time               │ Ops/sec     │ Diff           │
│ glob      │ 0.00007459990597268128  │ 13,404.843  │ N/A            │
│ fast-glob │ 0.000038842529587611705 │ 25,744.976  │ 92.06% faster  │
│ tiny-glob │ 0.00000974110141018254  │ 102,657.796 │ 298.75% faster │

Advanced Globbing

Learn more about advanced globbing


MIT © Terkel Gjervig


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free