diff --git a/src/go/build/deps_test.go b/src/go/build/deps_test.go
index a3ba8092be65732cc101a768511c6cbd2cbb841d..14880d9ef120216fcc302cdab923e6bc9ab89257 100644
--- a/src/go/build/deps_test.go
+++ b/src/go/build/deps_test.go
@@ -174,7 +174,7 @@ var depsRules = `
 	io/fs
 	< internal/testlog
 	< internal/poll
-	< internal/safefilepath
+	< internal/filepathlite
 	< os
 	< os/signal;
 
@@ -183,7 +183,7 @@ var depsRules = `
 
 	unicode, fmt !< net, os, os/signal;
 
-	os/signal, internal/safefilepath, STR
+	os/signal, internal/filepathlite, STR
 	< path/filepath
 	< io/ioutil;
 
diff --git a/src/internal/safefilepath/path.go b/src/internal/filepathlite/path.go
similarity index 86%
rename from src/internal/safefilepath/path.go
rename to src/internal/filepathlite/path.go
index c2cc6ce5d4965a10d0af5087addf7f90152d472b..b452987b6be8f2a34856d97e274ff2c69c03535d 100644
--- a/src/internal/safefilepath/path.go
+++ b/src/internal/filepathlite/path.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// Package safefilepath manipulates operating-system file paths.
-package safefilepath
+// Package filepathlite manipulates operating-system file paths.
+package filepathlite
 
 import (
 	"errors"
diff --git a/src/internal/safefilepath/path_plan9.go b/src/internal/filepathlite/path_plan9.go
similarity index 94%
rename from src/internal/safefilepath/path_plan9.go
rename to src/internal/filepathlite/path_plan9.go
index 55627c5102a9c998274b57a15b56724c3b525ae2..91a95ddb06d61b60c061eefe8d817f6167845803 100644
--- a/src/internal/safefilepath/path_plan9.go
+++ b/src/internal/filepathlite/path_plan9.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-package safefilepath
+package filepathlite
 
 import "internal/bytealg"
 
diff --git a/src/internal/safefilepath/path_unix.go b/src/internal/filepathlite/path_unix.go
similarity index 94%
rename from src/internal/safefilepath/path_unix.go
rename to src/internal/filepathlite/path_unix.go
index 873d0935ec87141a59cf53410a19a83d86ac800d..edad20817fba40fc9cdd291f6eb9f341e0b19c8d 100644
--- a/src/internal/safefilepath/path_unix.go
+++ b/src/internal/filepathlite/path_unix.go
@@ -4,7 +4,7 @@
 
 //go:build unix || (js && wasm) || wasip1
 
-package safefilepath
+package filepathlite
 
 import "internal/bytealg"
 
diff --git a/src/internal/safefilepath/path_windows.go b/src/internal/filepathlite/path_windows.go
similarity index 99%
rename from src/internal/safefilepath/path_windows.go
rename to src/internal/filepathlite/path_windows.go
index b626196f11c56c2b9b1a4665a93ef64a5f8d753d..3d7290b14c3bbf805d483094a4d255301ce6ac2f 100644
--- a/src/internal/safefilepath/path_windows.go
+++ b/src/internal/filepathlite/path_windows.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-package safefilepath
+package filepathlite
 
 import (
 	"internal/bytealg"
diff --git a/src/os/dir.go b/src/os/dir.go
index dcc18e18144783d712028e7776832e851f8d5179..d75ac171933961b37c159627b0c80279aa542e38 100644
--- a/src/os/dir.go
+++ b/src/os/dir.go
@@ -5,7 +5,7 @@
 package os
 
 import (
-	"internal/safefilepath"
+	"internal/filepathlite"
 	"io"
 	"io/fs"
 	"sort"
@@ -146,7 +146,7 @@ func CopyFS(dir string, fsys fs.FS) error {
 			return err
 		}
 
-		fpath, err := safefilepath.Localize(path)
+		fpath, err := filepathlite.Localize(path)
 		if err != nil {
 			return err
 		}
@@ -157,7 +157,7 @@ func CopyFS(dir string, fsys fs.FS) error {
 
 		// TODO(panjf2000): handle symlinks with the help of fs.ReadLinkFS
 		// 		once https://go.dev/issue/49580 is done.
-		//		we also need safefilepath.IsLocal from https://go.dev/cl/564295.
+		//		we also need filepathlite.IsLocal from https://go.dev/cl/564295.
 		if !d.Type().IsRegular() {
 			return &PathError{Op: "CopyFS", Path: path, Err: ErrInvalid}
 		}
diff --git a/src/os/file.go b/src/os/file.go
index ec8ad706607865da9f084fc41bbd77eebe3e8709..c3ee31583e32f6349e7d79c8064011e37605191a 100644
--- a/src/os/file.go
+++ b/src/os/file.go
@@ -45,8 +45,8 @@ package os
 
 import (
 	"errors"
+	"internal/filepathlite"
 	"internal/poll"
-	"internal/safefilepath"
 	"internal/testlog"
 	"io"
 	"io/fs"
@@ -766,7 +766,7 @@ func (dir dirFS) join(name string) (string, error) {
 	if dir == "" {
 		return "", errors.New("os: DirFS with empty root")
 	}
-	name, err := safefilepath.Localize(name)
+	name, err := filepathlite.Localize(name)
 	if err != nil {
 		return "", ErrInvalid
 	}
diff --git a/src/path/filepath/path.go b/src/path/filepath/path.go
index 6c8a0aa8b35b8e74f135bd065161a27b6c26c3d5..cd70c2b3187fc50f1253a8659189e211eedf4a9d 100644
--- a/src/path/filepath/path.go
+++ b/src/path/filepath/path.go
@@ -13,7 +13,7 @@ package filepath
 
 import (
 	"errors"
-	"internal/safefilepath"
+	"internal/filepathlite"
 	"io/fs"
 	"os"
 	"slices"
@@ -221,7 +221,7 @@ func unixIsLocal(path string) bool {
 //
 // The path returned by Localize will always be local, as reported by IsLocal.
 func Localize(path string) (string, error) {
-	return safefilepath.Localize(path)
+	return filepathlite.Localize(path)
 }
 
 // ToSlash returns the result of replacing each separator character
diff --git a/src/path/filepath/path_windows.go b/src/path/filepath/path_windows.go
index 6adb7d4bc4b2f007dacbb3782b7717eff825eb2e..44037c45ace4f0fcdb56f73b5e78be372444b684 100644
--- a/src/path/filepath/path_windows.go
+++ b/src/path/filepath/path_windows.go
@@ -5,7 +5,7 @@
 package filepath
 
 import (
-	"internal/safefilepath"
+	"internal/filepathlite"
 	"os"
 	"strings"
 	"syscall"
@@ -42,7 +42,7 @@ func isLocal(path string) bool {
 		if part == "." || part == ".." {
 			hasDots = true
 		}
-		if safefilepath.IsReservedName(part) {
+		if filepathlite.IsReservedName(part) {
 			return false
 		}
 	}