Drop any file to identify it
No upload. No signup. No sending your file halfway across the internet.
We tell you what it is, right here in your browser.
Drop it!
Let go to identify this file.
Couldn't identify this file
Need to convert it? fwip it →
LOCK files serve two very different purposes depending on context, and both are called .lock because naming things is hard. The first use is process locking — a file created to indicate that a resource is in use, preventing other processes from accessing it simultaneously. Database engines, editors, and system services create lock files (like `/var/lock/subsys/httpd`) to coordinate access.
The second, more visible use is dependency locking in package managers. `package-lock.json` (npm), `yarn.lock` (Yarn), `Cargo.lock` (Rust), `Gemfile.lock` (Ruby), `poetry.lock` (Python), and `pnpm-lock.yaml` all pin exact dependency versions so that every developer and CI server installs identical packages. These aren't technically ".lock" files by extension (they have their own names), but the concept of a lock file has become fundamental to reproducible software builds.
The key rule for lock files: don't delete them unless you know what created them and why. Deleting a process lock while the process is running can cause data corruption. Deleting a package manager lock file means your next install might pull different dependency versions, potentially breaking your build. When a lock file is orphaned (the creating process crashed), it's safe to remove — but verify the process isn't running first.