3 stable releases

2.0.0 Oct 17, 2021
1.0.1 Oct 17, 2021

#676 in Rust patterns

MIT license

132 lines



๐Ÿงน fuzzypath

Quick & dirty fuzzy path comparison

Comparison rules

  • โœ… Case insensitive
  • โœ… Backslashes are normalized to forward slashes
  • โœ… Trailing slashes are removed, except for root slash (for absolute POSIX paths)
  • โœ… Repeating slashes are normalized to a single slash
  • โŒ Comparing a Windows path with a POSIX path will not work if either is absolute (Windows paths with a drive letter, POSIX paths with a preceeding slash)
  • โŒ Comparing a Windows UNC path will not work with any POSIX path
  • โŒ POSIX paths can contain backslashes in file names, but Windows paths cannot - these will be normalized to forward slashes and you will lose that information


Add fuzzypath to your Cargo.toml dependencies:

fuzzypath = "1"


To enable Serde serialization and deserialization, use the crate feature serde

fuzzypath = { version = "1", features = ["serde"] }