Chmod Calculator
Calculate Unix/Linux file permissions interactively. Toggle read, write and execute for owner, group and others to get octal, symbolic and chmod command output.
Chmod Calculator
Calculate Unix file permissions in numeric, symbolic and command format
| Role | Read (4) | Write (2) | Execute (1) | Octal |
|---|---|---|---|---|
| Owner (u) | 7 | |||
| Group (g) | 5 | |||
| Others (o) | 5 |
Special Permissions (setuid, setgid, sticky)
chmod 755 filename.txt-rwxr-xr-x 1 user group 0 Apr 1 12:00 filename.txt- Yes Read
- Yes Write
- Yes Execute
- Yes Read
- No Write
- Yes Execute
- Yes Read
- No Write
- Yes Execute
What is a Chmod Calculator?
A chmod calculator helps you convert between the different ways Unix and Linux represent file permissions. The chmod command uses either numeric (octal) values like 755 or symbolic notation like rwxr-xr-x to set who can read, write, or execute a file. This tool lets you toggle permissions visually and instantly see the numeric value, symbolic string, and the full chmod command.
Key Features
- Interactive Checkboxes: Toggle read, write and execute for owner, group and others.
- Numeric Input: Type an octal value (e.g. 755) and see the corresponding permissions.
- Symbolic Notation: View the permission string as shown by
ls -l. - Special Permissions: Support for setuid, setgid and sticky bit (4-digit octal).
- Common Presets: One-click presets for 755, 644, 777, 600 and more.
- Copy to Clipboard: Copy the chmod command, octal value, or symbolic string.
How to use the Chmod Calculator
- Toggle the read, write and execute checkboxes for each role (owner, group, others).
- Or type a numeric permission value directly (e.g. 755 or 0755).
- Review the result: octal, symbolic and the full chmod command.
- Copy the command and run it in your terminal.
How octal permissions are calculated
Each permission has a numeric weight: read = 4, write = 2, execute = 1. Add them up per role to get one digit each for owner, group, and others. For example, rwxr-xr-- is (4+2+1)(4+0+1)(4+0+0) = 754. A leading fourth digit encodes special bits: setuid = 4, setgid = 2, sticky = 1, so chmod 4755 is 755 plus setuid.
Common Permission Values
- 755 (rwxr-xr-x): Standard for executables and directories. Owner can do everything, others can read and execute.
- 644 (rw-r--r--): Standard for files. Owner can read and write, others can only read.
- 700 (rwx------): Private directory, typical for
~/.ssh. No access for group or others. - 600 (rw-------): Private file, required for SSH private keys and common for credential files like
.env. - 664 (rw-rw-r--): Group-writable file, used in shared project directories.
- 750 (rwxr-x---): Executable or directory shared with the group but hidden from others.
- 440 (r--r-----): Read-only for owner and group, the setting sudoers expects.
- 1777 (rwxrwxrwt): World-writable with the sticky bit, like
/tmp: anyone can create files, only owners can delete their own. - 777 (rwxrwxrwx): Full access for everyone. Almost always the wrong answer, fix ownership with
chowninstead.
Typical permission fixes
- "Permissions are too open" from SSH: run
chmod 600 ~/.ssh/id_rsaandchmod 700 ~/.ssh. - Web server files: directories 755, files 644, config files with secrets 640 with the web server group as owner.
- Shell script will not run: add the execute bit with
chmod +x script.sh(symbolic mode works without touching other bits). - Recursive fix without making files executable:
find . -type d -exec chmod 755 {} +thenfind . -type f -exec chmod 644 {} +.
Working on a server anyway? The Cron Generator builds scheduled job expressions visually, and the htpasswd Generator creates Apache and Nginx basic auth credentials.
Related
Free forever, no ads, no tracking. Support the project