Tick the read, write and execute boxes for owner, group and other. The octal mode, symbolic notation and ready-to-paste chmod command update as you go.

000
---------
Octal command
chmod 000 file
Symbolic command
chmod u=,g=,o= file
Symbolic notation
---------
Common
Read
Write
Execute
Mode
Owner
0
Group
0
Other
0
Special 0

How chmod works

Every file on a Unix system has three sets of permissions—one for the file’s owner, one for the group the file belongs to and one for others (everyone else). Each set holds three permissions—read, write and execute.

chmod is the command that changes those permissions. You can use either the octal form (chmod 755 file) or the symbolic form (chmod u+x file). The calculator above produces the octal form because it’s the one you’ll see most often in scripts and documentation.

The octal numbers

Each permission is a power of two, and the digit for a permission set is the sum of the permissions you’ve granted.

  • Read is 4
  • Write is 2
  • Execute is 1

So read + execute is 4 + 1 = 5. A file with read + write for the owner and read for everyone else is 6 4 4, written as chmod 644 file.

Common modes

  • 644rw-r--r--. Owner can read and write; everyone else can only read. Sensible default for regular files.
  • 755rwxr-xr-x. Owner can read, write and execute; everyone else can read and execute. Sensible default for directories and executables.
  • 600rw-------. Only the owner can read or write. Used for sensitive files like SSH private keys.
  • 700rwx------. Only the owner can do anything. Used for private directories like ~/.ssh.
  • 777rwxrwxrwx. Everyone can do everything. Almost always wrong outside of /tmp.

Symbolic mode

If you only want to flip one permission, the symbolic form is shorter than recomputing the whole octal. The pattern is chmod <who><op><perm> file.

  • who is u (user/owner), g (group), o (other) or a (all)
  • op is + (add), - (remove) or = (set exactly)
  • perm is r, w or x

So chmod u+x script.sh adds execute for the owner without touching anything else. chmod go-w file removes write for group and other in one go.

Why I built this

I built the first version in 2014, back when I’d just moved from a GoDaddy grid server to a small Linux box on Digital Ocean and was running into permissions errors trying to deploy. There were calculators online but most looked like they were also built in 2003, so I made my own. The original eventually went offline. This is a fresh rewrite from 2026—same idea, new code.