Chmod Calculator
Tick the permissions you want and read off the chmod command — or go the other way and paste an octal mode or an rwx string from ls -l to decode it. Covers the special bits (setuid, setgid, sticky) and explains every mode in plain English.
New to this? Read the chmod guide →
Common permissions
| Mode | Symbolic | Typical use |
|---|---|---|
| rwxr-xr-x | Directories, scripts and binaries — everyone can run, only the owner can modify | |
| rw-r--r-- | Regular files — world-readable, owner-writable (web pages, configs) | |
| rwx------ | Private directories — ~/.ssh, personal scripts | |
| rw------- | Private files — SSH keys, credentials, .env files | |
| rw-rw-r-- | Group-collaborative files | |
| rwxrwxr-x | Group-collaborative directories | |
| r-------- | Read-only secrets (AWS key files insist on this) | |
| rwxrwxrwt | World-writable with sticky bit — how /tmp works | |
| rwxrwxrwx | Everyone can do everything — almost always a mistake; fix the owner instead |
Everything runs locally in your browser — nothing is uploaded. Tick boxes, type an octal mode, or paste a symbolic string straight from ls -l; all three stay in sync.
How chmod numbers work
Each permission class — owner, group, others — gets one octal digit, which is just the sum of read (4), write (2) and execute (1). So 7 = 4+2+1 = everything, 5 = 4+1 = read and execute, 6 = 4+2 = read and write. Put the three digits together and 755 reads: owner everything, group and others read + execute. An optional fourth digit in front encodes the special bits (setuid 4, setgid 2, sticky 1) — 4755 is a setuid executable.
Reading ls -l output
The 10-character string -rwxr-xr-x is a file-type character (- file, d directory, l symlink) followed by three rwx triplets for owner, group and others. Paste the string — with or without the leading type character — into the symbolic box and the calculator decodes it, including s/S and t/T special-bit notation. More detail in the guide.
Frequently asked questions
What does chmod 755 mean?
Owner: read, write and execute (4+2+1=7); group and others: read and execute (4+1=5). It’s the standard mode for directories, scripts and binaries — everyone can use them, only the owner can change them.
What’s the difference between 755 and 644?
The execute bit. 644 (rw-r--r--) is 755 without execute — right for plain files like documents and configs. Directories always need execute to be entered, so directories get 755 and files 644.
How do I read rwxr-xr-x?
Three triplets — owner, group, others — each showing read, write, execute (a dash means off). rwxr-xr-x is owner rwx, group r-x, others r-x, i.e. 755. Paste any ls -l string into the symbolic box and the calculator decodes it.
What do the s and t letters in ls -l mean?
Special bits shown in the execute column: s is setuid/setgid (run with the file owner’s or group’s identity), t is the sticky bit (in a shared directory, only a file’s owner can delete it — how /tmp works). Uppercase S or T means the special bit is set but execute is not.
Why shouldn’t I just chmod 777?
Because it lets every account on the system write to the file, turning any other vulnerability into a write-anywhere. Permission errors are almost always ownership problems — chown to the right user, then 755 for directories and 644 for files.