Chmod Calculator — Octal, Symbolic & Checkbox Permissions
This free chmod calculator converts Unix and Linux file permissions between the three ways they are usually written: a checkbox grid of read, write, and execute for the owner, group, and others; the numeric octal form such as 755 or 0644; and the symbolic form such as rwxr-xr-x that you see in the output of ls -l. Change any one of them and the others update instantly, so you never have to add up 4, 2, and 1 in your head or decode a permission string by hand.
It fully supports the three special bits — setuid, setgid, and the sticky bit — including how they change the execute character in the symbolic form (s, S, t, and T). It also builds the exact chmod command you can paste into a terminal. Everything runs locally in your browser with JavaScript; nothing you enter is uploaded, stored, or sent to a server.
How to use Chmod Calculator
- Tick the Read, Write, and Execute boxes for the Owner, Group, and Others rows to describe the access you want.
- Turn on any special bits (setuid, setgid, or sticky) if you need them.
- Read the live Octal (for example 0755), Symbolic (rwxr-xr-x), and ls -l style outputs, and copy whichever you need.
- Or work backwards: type an octal value like 755 or 4755, or a symbolic string like rwxr-xr-x, and the checkboxes and other formats update to match.
- Enter a file name and copy the ready-made chmod command, such as chmod 755 filename, to run in your terminal.
How octal permissions add up
Each permission has a numeric weight: read is 4, write is 2, and execute is 1. Adding the weights for one class gives that class's octal digit, so read plus execute is 5, read plus write is 6, and all three is 7. A permission mode is three of these digits, one each for the owner, the group, and everyone else — the 7, 5, 5 in 755 means rwx for the owner and r-x for the group and others.
owner rwx = 4+2+1 = 7
group r-x = 4+0+1 = 5
others r-x = 4+0+1 = 5
=> 755 (rwxr-xr-x)Special bits and the fourth digit
setuid (4), setgid (2), and the sticky bit (1) form an optional leading fourth octal digit, so 4755 sets setuid on top of 755. setuid makes an executable run with the permissions of its owner, setgid makes it run with its group (and makes new files in a directory inherit that group), and the sticky bit on a shared directory lets only a file's owner delete or rename it — the reason /tmp is 1777.
In symbolic notation these bits reuse the execute position of their class. A lowercase letter means the special bit and the execute bit are both set; an uppercase letter means the special bit is set but execute is not. So setuid shows as s when the owner has execute and S when it does not, setgid does the same in the group column, and the sticky bit shows as t or T in the others column.
4755 => rwsr-xr-x (setuid, owner has execute -> lowercase s) 6644 => rwSr-Sr-- (setuid+setgid, no execute -> uppercase S) 1777 => rwxrwxrwt (sticky, others have execute -> lowercase t)
Common permission modes
- 644 (rw-r--r--) — the usual mode for regular files: the owner can edit, everyone can read.
- 755 (rwxr-xr-x) — the usual mode for directories and executables: owner full access, others can read and traverse or run.
- 600 (rw-------) — private files readable and writable only by the owner, such as SSH keys and config with secrets.
- 700 (rwx------) — private directories only the owner may enter.
- 777 (rwxrwxrwx) — full access for everyone; almost always a mistake on real files.
- 1777 (rwxrwxrwt) — a world-writable directory with the sticky bit so users cannot delete each other's files, as used by /tmp.
Related terminology
- Octal (numeric) mode
- Permissions written as octal digits, one per class, where read=4, write=2, execute=1 are summed (for example 755). An optional leading digit carries the special bits.
- Symbolic mode
- Permissions written as letters, such as rwxr-xr-x, in three groups of three for the owner, group, and others; a dash means the permission is absent.
- Owner, group, others
- The three permission classes: the user who owns the file, the file's group, and every other user on the system.
- setuid / setgid
- Special bits that make an executable run with the identity of its owner (setuid) or group (setgid); setgid on a directory also makes new files inherit that directory's group.
- Sticky bit
- A special bit on a shared, world-writable directory that lets only a file's owner (or root) delete or rename it, shown as t or T in the others column.
- chmod
- The Unix command that changes a file's permission mode, accepting either an octal value (chmod 755 file) or a symbolic expression.
Frequently asked questions
- What does chmod 755 mean?
- 755 grants read, write, and execute to the owner (7 = 4+2+1) and read and execute to the group and to others (5 = 4+1). In symbolic form that is rwxr-xr-x. It is the standard mode for directories and executable programs — the owner can change them, while everyone else can read and run or traverse but not modify.
- How do I convert octal permissions to symbolic (rwx) form?
- Type the octal value, such as 644 or 4755, into the Octal field. The calculator ticks the matching Read, Write, and Execute boxes and shows the symbolic string (for example rw-r--r-- or rwsr-xr-x) instantly. You can also go the other way by typing the symbolic string into the Symbolic field.
- What is the difference between a lowercase s and an uppercase S in permissions?
- Both indicate a special bit (setuid in the owner column, setgid in the group column). Lowercase s means the special bit is set and the execute bit is also set; uppercase S means the special bit is set but execute is not. The same rule gives t versus T for the sticky bit in the others column.
- How do the setuid, setgid, and sticky bits appear in the octal value?
- They form an optional fourth digit in front of the usual three, with setuid=4, setgid=2, and sticky=1 added together. For example 4755 is 755 with setuid, 2755 adds setgid, and 1777 adds the sticky bit. When none are set, the leading digit is 0 and is usually omitted, so 0644 and 644 mean the same thing.
- Is 777 safe to use?
- Rarely. 777 (rwxrwxrwx) lets any user read, modify, and execute the file, which is a security risk for almost anything on a multi-user system or a server. Prefer 644 for files and 755 for directories and programs, and only widen permissions when something genuinely needs them.
- Is my input sent to a server?
- No. The calculator runs entirely in your browser with JavaScript. The permissions, file name, and generated command never leave your device, so it is safe to use for any file or path.