It seems that relativize doesn't understand well the concept of current directory ("."). Path path1 = Paths.get("foo.txt"); Path path2 = Paths.get("."); Path relativize = path2.relativize(path1); System.out.println(relativize); // print ../foo.txt I use jdk7 b81 under linux, Rémi