Runs in your browser. Your files and text never leave your device - nothing is uploaded.
| Read | Write | Execute | |
|---|---|---|---|
| Owner | |||
| Group | |||
| Others |
What this means
- Owner: read, write, execute
- Group: read, execute
- Others: read, execute
Common presets
Calculate Unix File Permissions
The Tools Kit’s free Chmod Calculator turns read, write and execute checkboxes into the exact permission value the chmod command expects. Tick what the owner, the group and everyone else should be allowed to do, and it shows the octal number (such as 755 or 644), the symbolic string you see in ls -l (such as rwxr-xr-x), and a plain-English summary of who can do what.
It is a Linux and Unix file permissions calculator for anyone setting up a web server, fixing a “permission denied” error, or decoding a chmod line from a tutorial. Everything runs in your browser: it calculates the value, and you run the command on your own machine.
How to Use the Chmod Calculator
- 1
Tick the permissions you want
Use the Read, Write and Execute checkboxes for the Owner, Group and Others rows. The calculator starts at 755 (rwxr-xr-x).
- 2
Or start from a preset
Click 755, 644, 777, 700, 600 or 664 to tick the matching boxes in one step, then adjust any box you need to change.
- 3
Read the octal and symbolic results
The three-digit octal value (for example chmod 644) and the nine-character symbolic string (for example rw-r--r--) update as soon as a box changes.
- 4
Check the plain-English breakdown and run the command
The "What this means" list spells out what Owner, Group and Others can do. Then run chmod with the octal value on your server, for example chmod 644 index.html.
There is no field for typing a mode: to decode a value you already have, tick the boxes that match it or click its preset.
How Chmod Octal Numbers Work
Every file and directory has three permission classes — owner, group and others — and each class has three bits: read, write and execute. Chmod numbers are octal (base 8) because three bits give exactly eight combinations, 0 to 7, so each class fits in one digit. Read is worth 4, write 2 and execute 1, and the digit is the sum of the bits that are switched on.
| Digit | Symbolic | Permissions |
|---|---|---|
| 7 | rwx | read + write + execute (4 + 2 + 1) |
| 6 | rw- | read + write (4 + 2) |
| 5 | r-x | read + execute (4 + 1) |
| 4 | r-- | read only |
| 3 | -wx | write + execute (2 + 1) |
| 2 | -w- | write only |
| 1 | --x | execute only |
| 0 | --- | no permissions |
A worked example: you want the owner to have full access, the group to read and run the file, and nobody else to touch it. Owner = 4 + 2 + 1 = 7, group = 4 + 1 = 5, others = 0, so the command is chmod 750 deploy.sh and the symbolic form is rwxr-x---. Each digit is really three binary bits — 7 is 111 and 5 is 101 — which you can confirm with the binary, octal and hex converter.
Common Chmod Values: 755, 644, 600 and More
The six presets in the calculator cover the modes you will meet most often:
- chmod 755 (rwxr-xr-x) — directories, shell scripts and programs that others need to run or browse but not modify.
- chmod 644 (rw-r--r--) — ordinary files such as HTML, CSS, images and most configuration files.
- chmod 600 (rw-------) — private keys,
.envfiles and anything holding passwords or API tokens. - chmod 700 (rwx------) — private directories such as
~/.ssh, or scripts only you should run. - chmod 664 (rw-rw-r--) — files a team edits together through a shared group.
- chmod 777 (rwxrwxrwx) — full access for everyone; rarely the right answer, and a security risk on shared or public servers.
On most Linux systems a default umask of 022 is why new files are created as 644 and new directories as 755: the umask removes write access for group and others from the 666 or 777 starting point.
Securing Sensitive Files With Chmod
Permissions are the last line of defense for secrets that live on disk. A config file that holds a database password from the password generator, or a file of password hashes made with the bcrypt generator, should normally be 600 or 640 so other accounts cannot read it. OpenSSH goes further and refuses a private key that is readable by group or others, which is why 600 for the key and 700 for ~/.ssh are the standard fix for a “bad permissions” error.
Permissions control who can read or change a file, not whether its contents are intact. When you download a script before marking it executable with 755, compare its checksum using the SHA-256 hash generator against the one the publisher lists.
Octal vs Symbolic Chmod Notation
chmod accepts two notations. Octal sets all nine bits at once (chmod 644 file), which is what this calculator produces. Symbolic notation edits bits relative to the current mode, using u, g, o or a for the class, + or - to add or remove, and r, w or x for the permission — for example chmod u+x script.sh or chmod go-w file. The calculator does not build symbolic commands like these, but its nine-character rwx output is the same string ls -l prints after the file-type character, so you can compare it directly with what is on disk.
The calculator handles the standard three-digit modes from 000 to 777. Special bits — setuid, setgid and the sticky bit, written as a leading fourth digit such as 4755 or 1777 — are outside its scope.
Common uses
- Setting the right permissions for WordPress or other web-root files and folders before upload
- Making a deploy or backup script executable, then scheduling it with the cron expression generator
- Fixing an SSH “unprotected private key file” or “permission denied” error
- Decoding a chmod command copied from a tutorial, Dockerfile or install guide before running it
- Learning how Unix permission bits map to octal digits for a Linux course or interview
For more utilities for server and code work, see all developer tools, including the regex tester for checking file-matching patterns.
Chmod terms explained
| Term | What it means here |
|---|---|
| chmod | The Unix and Linux command ("change mode") that sets a file or directory’s permission bits |
| Owner (u) | The user who owns the file; the first octal digit and the first rwx triplet |
| Group (g) | Members of the file’s group; the second digit and the second triplet |
| Others (o) | Every other user on the system; the third digit and the third triplet |
| Read (r = 4) | View a file’s contents, or list the names inside a directory |
| Write (w = 2) | Change a file’s contents, or create, rename and delete entries in a directory |
| Execute (x = 1) | Run a file as a program or script, or enter (cd into) and pass through a directory |
| Octal notation | The three-digit numeric form of a mode, such as 755, where each digit is 0-7 |
| Symbolic notation | The nine-character rwx form of a mode, such as rwxr-xr-x, as printed by ls -l |
Frequently Asked Questions
Give each permission a value: read = 4, write = 2, execute = 1. Add the values you want for the owner, then for the group, then for others, and write the three sums side by side. Read + write + execute is 4 + 2 + 1 = 7, and read + execute is 4 + 1 = 5, so owner rwx with group and others r-x is chmod 755.
chmod 755 gives the owner read, write and execute (7), and gives the group and everyone else read and execute (5 each). In symbolic form it is rwxr-xr-x. It is the usual mode for scripts, programs and web directories: anyone can run or enter them, but only the owner can modify them.
chmod 644 gives the owner read and write (6), while the group and others can only read (4 each). In symbolic form it is rw-r--r--. It is the common mode for ordinary files such as HTML, CSS, images and most config files.
644 (rw-r--r--) lets only the owner write to the file. 664 (rw-rw-r--) also lets members of the file’s group write to it, which is useful for files a team edits together. In both, other users can only read.
Usually not. chmod 777 (rwxrwxrwx) lets every user on the system read, change and execute the file or directory. On a shared or public web server that can let another account or a compromised process overwrite your files. Prefer 755 for directories and 644 for files, and grant group write access with 775 or 664 when a team needs it.
Use chmod 600 (rw-------) for a private key file, so only the owner can read or write it, and chmod 700 (rwx------) for the ~/.ssh directory. OpenSSH refuses to use a private key that other users can read.
Split it into three groups of three: rwx, r-x, r-x. Score each letter (r = 4, w = 2, x = 1, dash = 0) and add them per group: rwx = 7, r-x = 5, r-x = 5, so rwxr-xr-x is 755. In the calculator, tick the boxes that match the letters and the octal value appears.
On a directory, execute means you can enter it with cd and reach the files inside it by name. Read alone only lets you list the names. That is why directories normally carry execute wherever they carry read, as in 755 or 700.
No. The calculator has no text box for a mode. To see what 750 means, tick all three boxes for Owner, Read and Execute for Group, and nothing for Others; the symbolic result will read rwxr-x---. For the six common modes, click the preset button and the boxes are set for you.
No. It works with the standard nine permission bits and always produces a three-digit mode from 000 to 777. Four-digit modes such as 4755 (setuid) or 1777 (sticky bit, used on /tmp) are not covered.
No. It only works out the permission value in your browser; nothing is sent to a server and no file is touched. You copy the result and run the chmod command yourself in a terminal, SSH session or your hosting control panel.
Reviewed by Raja Jahangir · Last reviewed: October 7, 2026
How do you calculate chmod permissions?
To calculate chmod permissions, tick read, write and execute for owner, group and others. Read is 4, write 2 and execute 1, and the values add up per group, so rwxr-xr-x is 755 and rw-r--r-- is 644. The result shows the octal value, the symbolic string and a plain-English breakdown of each group.
What does chmod 755 mean?
chmod 755 gives the owner read, write, and execute (4+2+1=7), while group and everyone else get read and execute (4+1=5), written symbolically as rwxr-xr-x. It is the usual setting for scripts, executables, and web directories: the owner can edit, everyone can run or enter, but nobody else can modify.
