Glob Pattern Tester
Test glob patterns against file paths with *, **, ?, [abc], [a-z], [!x], and {a,b} brace expansion. Convert glob to regex, explain each token, highlight matches, and resolve multi-pattern include/exclude sets. Four flavors: shell glob, .gitignore, minimatch/picomatch, and tsconfig. Toggle case-sensitivity, dot (hidden files), and globstar. Directory tree view, sample paths, presets, history (localStorage), and shareable URL. 100% client-side.
About Glob Pattern Tester
Test glob patterns against file paths with *, **, ?, [abc], [a-z], [!x], and {a,b} brace expansion. Convert glob to regex, explain each token, highlight matches, and resolve multi-pattern include/exclude sets. Four flavors: shell glob, .gitignore, minimatch/picomatch, and tsconfig. Toggle case-sensitivity, dot (hidden files), and globstar. Directory tree view, sample paths, presets, history (localStorage), and shareable URL. 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
Which glob syntax features are supported?
All five core wildcards: `*` (any chars except `/`), `**` (globstar — crosses `/` when enabled), `?` (single char), `[abc]` / `[a-z]` / `[!xyz]` (character classes with negation), and `{a,b,c}` (brace expansion). Backslash path separators are auto-normalized to forward slashes; regex-special literal chars (`.`, `+`, `(`, `)`, etc.) are auto-escaped so they match literally.
What's the difference between the four flavors?
(1) Shell glob — POSIX bash/zsh behavior. (2) .gitignore — trailing `/` matches directories only, leading `/` anchors to the gitignore file's directory, `!` prefix negates (un-ignores). (3) minimatch / picomatch — npm/webpack/eslint/ripgrep --glob semantics, equivalent to shell with globstar on. (4) tsconfig — TypeScript's include/exclude field semantics, equivalent to minimatch.
How do include + exclude (negation) patterns work?
Add multiple patterns and toggle each as Include or Exclude. A path is included only if at least one Include pattern matches AND no Exclude pattern matches. With no Include patterns, everything is included by default (then Exclude filters apply). For gitignore flavor, you can also use the `!` prefix directly in the pattern text — the tester treats it the same way.
How does the dot toggle work?
When dot is off (default), `*` and `?` will NOT match a leading `.` in a filename — so `*` matches `foo.txt` but not `.env`. This mirrors the standard shell/gitignore default. Toggle dot on to match dotfiles with `*`.
What extra features does this tool have versus other glob testers?
(1) Four flavors: shell, .gitignore, minimatch/picomatch, tsconfig. (2) Multi-pattern include/exclude with negation `!`. (3) Per-token explanation of every wildcard in the pattern. (4) Glob → regex conversion with the source string shown. (5) Match highlighting — which parts of each path matched. (6) Directory tree view of all paths with matched/unmatched/excluded colors. (7) Three toggles: case-sensitive, dot (hidden files), globstar. (8) Brace `{a,b,c}` and char-class `[a-z]` / `[!x]` support with examples. (9) Windows backslash path normalization. (10) Sample path tree loader + preset patterns. (11) Copy matched list / shareable URL. (12) Stats (total / matched / unmatched / excluded). (13) History (localStorage, last 20). 100% client-side — your paths are never uploaded, no ads.
Related tools
.bashrc / .zshrc Alias & Config Manager
Build shell aliases, functions, exports, and PATH edits in a visual editor, then export a clean, commented .aliases file sourced from both .bashrc and .zshrc — with shadowing detection against shell builtins and common CLI tools, function suggestions when args are needed, starter packs (git, docker, kubectl, navigation, safety, ls, dev, devops, data science), import of existing rc files, dedupe, history (localStorage), and shareable URL. 100% client-side.
Add / Subtract Date Calculator
Add or subtract years, months, weeks, days, hours, minutes and seconds from a starting date/time. Calendar-day or business-day mode with custom weekend + holiday list. Month-end policy toggle (clamp to last day vs overflow). Repeat/series mode (e.g. every 2 weeks x 10) with CSV export. Shareable URL. 100% client-side.
Age Calculator
Calculate exact age from a birth date in calendar years/months/days (no negative-day bugs) plus totals in months/weeks/days/hours/minutes/seconds. Next-birthday countdown with weekday. Feb-29 birthday policy toggle. Milestones (1,000 days, 10,000 days, 1 billion seconds). Zodiac sign + Chinese zodiac. Age gap comparison. Shareable URL. 100% client-side.