Free tool · Runs in your browser

Chmod Calculator

Convert Linux file permissions between octal and symbolic notation, then copy the exact chmod command. Everything runs locally in your browser - nothing is uploaded.

Presets
ReadWriteExecute
Owneru
Groupg
Otherso
Special bits
Symbolicrwxr-xr-x

In plain English: The owner can read, write, and execute. Group and others can read and execute.

Optional - the file or folder to apply this to
chmod command
$chmod 755 filename
Symbolic form
$chmod u=rwx,g=rx,o=rx filename

What is chmod?

chmod ("change mode") is the Linux and macOS command that sets the permissions of a file or directory - who can read, write, and execute it. You reach for it constantly: making a script runnable, locking down an SSH private key, or fixing a "Permission denied" error on a web server.

This calculator turns the permission checkboxes into the precise numeric and symbolic command, so you never have to guess whether you want 644 or 755.

How Linux permissions work

Every file has three permission groups - Owner (the user who owns it), Group (members of the file's group), and Others (everyone else). Each group can be granted any combination of three permissions, and each permission has a numeric value:

  • Read (r) = 4
  • Write (w) = 2
  • Execute (x) = 1

Add the values for each group to get its digit. Read + write + execute is 4 + 2 + 1 = 7; read + execute is 4 + 1 = 5. Do that for owner, group, and others and you get the familiar three-digit number, like 755.

Octal vs symbolic notation

The same permissions can be written two ways. Octal uses the digits above - 755. Symbolic spells out each group as nine characters - rwxr-xr-x - which is exactly what you see in the output of ls -l. A dash means the permission is not granted.

chmod accepts both. chmod 755 file and chmod u=rwx,g=rx,o=rx file do the same thing. The calculator above shows both forms live as you toggle permissions.

Special permissions: setuid, setgid, and sticky

A fourth, leading digit controls three special bits. setuid (4) runs an executable as its owner, setgid (2) runs it as its group (or makes new files in a directory inherit the group), and the sticky bit (1) stops users from deleting each other's files in a shared directory like /tmp.

Toggle them in the calculator and the octal value gains a leading digit - for example 1755 for a sticky directory, or 4755 for a setuid binary.

How to use this calculator

  1. Tick the read, write, and execute boxes for owner, group, and others.
  2. Or click a preset (644 for files, 755 for scripts, 600 for SSH keys) to set them all at once.
  3. Need a special bit? Toggle setuid, setgid, or sticky.
  4. Watch the octal and symbolic values update live, or type an octal value to work backwards.
  5. Add an optional file path and the recursive flag, then copy the ready-to-run command.

Common chmod values

ValueSymbolicUse case
644rw-r--r--Regular files - web pages, configs, documents
755rwxr-xr-xDirectories, scripts, and executables
600rw-------SSH private keys, credentials, secrets
700rwx------The ~/.ssh directory and other private folders
640rw-r-----Readable by a group, but not the rest of the world
775rwxrwxr-xGroup-writable project directories
777rwxrwxrwxAvoid - world-writable and a common security risk
Chmod FAQ

Frequently asked questions

chmod 755 gives the owner full read, write, and execute permission (7), and gives the group and everyone else read and execute but not write (5 and 5). It is the standard setting for directories, scripts, and executables that everyone should be able to run but only the owner should be able to change.
Both give the owner read and write and grant read access to group and others. The difference is the execute bit: 755 adds execute for everyone (4+1 for group and others), so it is used for directories and runnable scripts, while 644 has no execute bit and is used for regular files like documents, configs, and web pages.
SSH private keys should be chmod 600 (rw-------) so that only the owner can read or write them, and your ~/.ssh directory should be chmod 700. SSH refuses to use a private key that is readable by the group or others. CtrlOps handles this for you - it stores SSH keys encrypted on your own machine with the correct permissions, so they never leave your device.
The -R (recursive) flag applies the permission change to a directory and everything inside it - all subdirectories and files. Use it carefully: applying an executable permission recursively to a tree of regular files, or loosening permissions on a whole directory, can have unintended security consequences.
No. chmod 777 grants read, write, and execute to everyone on the system, including the ability for any user to modify or replace the file. It is almost never the right fix for a permissions problem and is a common security risk. Prefer the narrowest permission that works - usually 644 for files or 755 for directories and scripts.
Octal notation uses numbers (chmod 644 file) where each digit is the sum of read=4, write=2, and execute=1 for owner, group, and others. Symbolic notation uses letters (chmod u=rw,go=r file or chmod +x file) to add, remove, or set specific permissions. Both produce the same result; octal sets everything at once, while symbolic is handy for changing one permission without touching the rest.
Manage servers, not syntax

Stop looking up chmod every time.

CtrlOps' AI terminal turns plain English into the exact command, and its GUI file manager sets permissions with a click - all over SSH, with your credentials encrypted on your own machine.

Start instantly· No credit card· No sneaky autorenewals