Chmod Calculator

Visual Unix permissions calculator. Select Read/Write/Execute for Owner, Group, and Others to get the numeric value and symbolic notation.

Free Runs in your browser
EntityRead (4)Write (2)Execute (1)Value
Owner7
Group5
Others5
Numeric
755
Symbolic
rwxr-xr-x

Common presets

How to use

  1. 1 Click the checkboxes to set Read, Write, and Execute permissions for Owner, Group, and Others.
  2. 2 The numeric (octal) value (e.g. 755) and symbolic notation (e.g. rwxr-xr-x) update instantly.
  3. 3 Or type an octal value directly to see the corresponding checkbox state.
  4. 4 Copy the octal value to use in chmod commands on your server.

Key features

  • Click checkboxes to set read/write/execute for owner, group, and others
  • Numeric octal value (e.g. 755) and symbolic notation (e.g. rwxr-xr-x) update in sync
  • Type an octal value to instantly see the checkbox state
  • Shows the equivalent chmod command for direct use in terminal

What is a Chmod Calculator?

In Unix-based systems (Linux, macOS), every file and directory has a set of permissions that control who can read, write, or execute it. These permissions are defined for three groups: the owner, the group, and others (everyone else). The chmod command changes those permissions.

Permissions are represented in two notations: symbolic (rwxr-xr-x) and octal (755). The octal notation sums the values for each permission bit: read = 4, write = 2, execute = 1. This calculator lets you click checkboxes and instantly see both notations and the ready-to-use chmod command.

Common Use Cases

Making scripts executable

Set 755 on shell scripts or binaries so the owner can run them and others can read them; the standard for public executables.

Securing sensitive files

SSH private keys and .env files should be 600 (owner read/write only). Many tools refuse to work if these files are world-readable.

Configuring web server files

Public web files are typically 644 (owner writes, everyone reads) and directories 755 so the server can traverse them.

Debugging "Permission denied" errors

When a process can't read or write a file, check its permissions. This tool helps you quickly work out what the current permissions allow and what you need to change.

CI/CD and Docker images

Docker entrypoint scripts and build artifacts must be executable inside the container. chmod +x (or 755) is often the fix for a failing CMD.

Learning the octal notation

Toggle checkboxes to see how r=4, w=2, x=1 add up to the octal digit for each group. A great way to build intuition for Unix permissions.

Common Permission Values

The values you'll reach for most often in everyday work.

OctalSymbolicMeaningTypical use
777rwxrwxrwxFull access for everyoneAvoid: security risk
755rwxr-xr-xOwner full, others read+executeExecutables, public dirs
644rw-r--r--Owner read+write, others read-onlyRegular files, web assets
640rw-r-----Owner read+write, group read-onlyConfigs with group access
600rw-------Owner read+write onlySSH keys, .env files
700rwx------Owner full access, others nonePrivate scripts
400r--------Owner read-onlyRead-only credentials

umask: Where Default Permissions Come From

The chmod command changes permissions that already exist. The umask decides what permissions a new file or directory gets in the first place.

When a program creates a file it asks for a base permission, conventionally 666 for files and 777 for directories, and the kernel subtracts the umask from it. Because files start from 666, a new text file is never executable until you say so: that is why scripts need an explicit chmod +x. Working out a umask by hand for anything other than the common values below gets fiddly fast; the Umask Calculator does it both ways, umask to permissions and back.

The umask is a mask of bits to clear, not a set of permissions to grant: the result is base AND NOT umask. It can only take permissions away, never add them. And the same mask produces two different results, because the base differs: with umask 022, new files come out 644 and new directories 755.

It is a per-process setting: umask 022 in a shell applies to that shell and to everything it launches afterwards. Running umask with no argument prints the current value. To make it permanent it goes in /etc/profile, your ~/.profile, or the PAM configuration, depending on the distribution.

umaskNew filesNew directoriesTypical use
022644755The classic default on most systems
002664775Group writable: shared servers and team directories
027640750Group reads, everyone else gets nothing
077600700Private: the strict setting for sensitive data

The umask only affects files created after it is set. Changing it does not touch anything already on disk; for that you use chmod, which is what this calculator produces.

Ownership: A Different Problem Than Permissions

This calculator answers "what can the owner, group, and others do." It doesn't answer "who is the owner or group," which is what chown controls. A file can be 644 and still throw "Permission denied" if it's owned by the wrong user, a common surprise after a root-run script or a Docker container writes to a bind-mounted directory.

The syntax is chown owner:group file, and changing the owner to someone else normally requires root. The Chown Calculator builds the full command for you, recursive flag and safety checks included.