Chmod Calculator
Visual Unix permissions calculator. Select Read/Write/Execute for Owner, Group, and Others to get the numeric value and symbolic notation.
| Entity | Read (4) | Write (2) | Execute (1) | Value |
|---|---|---|---|---|
| Owner | 7 | |||
| Group | 5 | |||
| Others | 5 |
Common presets
How to use
- 1 Click the checkboxes to set Read, Write, and Execute permissions for Owner, Group, and Others.
- 2 The numeric (octal) value (e.g. 755) and symbolic notation (e.g. rwxr-xr-x) update instantly.
- 3 Or type an octal value directly to see the corresponding checkbox state.
- 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.
| Octal | Symbolic | Meaning | Typical use |
|---|---|---|---|
| 777 | rwxrwxrwx | Full access for everyone | Avoid: security risk |
| 755 | rwxr-xr-x | Owner full, others read+execute | Executables, public dirs |
| 644 | rw-r--r-- | Owner read+write, others read-only | Regular files, web assets |
| 640 | rw-r----- | Owner read+write, group read-only | Configs with group access |
| 600 | rw------- | Owner read+write only | SSH keys, .env files |
| 700 | rwx------ | Owner full access, others none | Private scripts |
| 400 | r-------- | Owner read-only | Read-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.
| umask | New files | New directories | Typical use |
|---|---|---|---|
| 022 | 644 | 755 | The classic default on most systems |
| 002 | 664 | 775 | Group writable: shared servers and team directories |
| 027 | 640 | 750 | Group reads, everyone else gets nothing |
| 077 | 600 | 700 | Private: 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.