Chmod Calculator

Data Stays on Your Device

Calculate Linux file permissions (e.g., 777, 755) using checkboxes or numeric input.

Owner
Group
Others
Linux command
chmod 755 filename

What is the Chmod Calculator?

The Chmod Calculator converts between the symbolic and numeric forms of Unix file permissions. Tick the permissions you want and it produces the octal value for chmod; enter an octal value and it shows what those digits actually grant.

Unix permissions are defined across three classes (the file's owner, its group, and everyone else) and three rights: read, write, and execute. That gives nine bits, conventionally written either symbolically as rwxr-xr-- or numerically as three octal digits.

The numeric form works because read is 4, write is 2, and execute is 1. Adding the values for one class gives that class's digit: read plus write plus execute is 7, read plus execute is 5, read alone is 4. So 755 means the owner has all three rights and everyone else can read and execute.

Execute means something different for directories than for files. On a file it permits running the file as a program. On a directory it permits traversing into it, which is why a directory with read but not execute lets you list names but not access anything inside.

How to use the Chmod Calculator

  1. Tick the permissions you want. Select read, write, and execute for owner, group, and others independently.
  2. Read the octal value. The three-digit number updates as you change the boxes.
  3. Or enter an octal value. Typing 644 shows which permissions those digits grant.
  4. Copy the command. Take the complete chmod command ready to run.

Worked examples

How the digits are built

Each digit is the sum of the rights granted to that class.

Input
read    = 4
write   = 2
execute = 1
Output
7 = 4+2+1 = rwx  (read, write, execute)
6 = 4+2   = rw-  (read, write)
5 = 4+1   = r-x  (read, execute)
4 = 4     = r--  (read only)
0 =       = ---  (no access)

Common permission sets

These four cover the large majority of real-world cases.

Input
644  rw-r--r--
755  rwxr-xr-x
600  rw-------
700  rwx------
Output
644  Regular files, owner edits, others read
755  Directories and scripts, others traverse/run
600  Private files such as SSH keys and .env
700  Private directories such as ~/.ssh

SSH refuses to use a private key that is readable by group or others, which is why 600 matters there.

Common use cases

  • Fixing web server permission errors. A 403 from a web server is frequently a permissions problem rather than a configuration one.
  • Securing SSH keys. SSH enforces strict permissions on private keys and will refuse a key that is too widely readable.
  • Making scripts executable. A newly written script needs the execute bit before it can be run directly.
  • Protecting configuration files. Files containing credentials should not be readable beyond their owner.

Features and limitations

  • Converts between checkbox selection, symbolic notation, and octal values.
  • Shows the equivalent chmod command ready to copy.
  • Covers the standard nine permission bits for owner, group, and others.
  • Special bits, setuid, setgid, and the sticky bit, occupy a fourth leading digit and have security implications worth understanding before use.
  • Permissions interact with file ownership, so chmod alone may not resolve an access problem if the owner or group is wrong.

Frequently asked questions

What does 755 mean?

The owner has read, write, and execute; group and others have read and execute. It is the standard setting for directories and for executable scripts that everyone should be able to run.

Why 644 for files and 755 for directories?

Because execute means different things for each. Files do not usually need to be executable, so 644 is right. Directories need the execute bit to be traversable, so 755 is the equivalent.

Is 777 ever appropriate?

Essentially never. It grants everyone full control, including the ability to modify or replace the file. It is often suggested as a quick fix for permission errors, but it creates a real security problem and usually masks a wrong-ownership issue.

Why does SSH reject my private key?

Because it is readable by group or others. SSH requires private keys to be 600 and the .ssh directory to be 700, refusing to proceed otherwise as a safety measure.

What are setuid, setgid, and the sticky bit?

They are special bits in a fourth leading digit. setuid and setgid run a file with the owner's or group's privileges; the sticky bit on a directory restricts deletion to file owners, as on /tmp. setuid in particular carries real security risk.

How do I change permissions recursively?

chmod -R applies to a whole tree, but applying one mode to everything is usually wrong because files and directories need different execute bits. Using find to apply 644 to files and 755 to directories separately is the safer approach.

All processing happens locally in your browser, your data never leaves your device.