Unix Chmod Calculator

Calculate Unix file permissions interactively. Toggle checkboxes for Owner, Group, and Others, or type an octal number to see the corresponding permissions. Supports setuid, setgid, and sticky bit. Everything runs in your browser.

Read (4)
Write (2)
Execute (1)
Owner (u)
Group (g)
Others (o)
Special Bits
Octal
Symbolic
ls -l format
chmod command

Enter symbolic notation to set permissions. Examples: u+rwx, go-w, a=rx, u+rwx,g+rx,o+rx

How It Works

Interactive Grid

Toggle read, write, and execute checkboxes for Owner, Group, and Others. The octal value, symbolic notation, and chmod command update in real time as you click.

🔄

Bidirectional

Enter an octal number like 755 or symbolic notation like u+rwx,g+rx to set the checkboxes automatically. Works both ways for quick conversions.

🔑

Special Bits

Full support for setuid (4000), setgid (2000), and sticky bit (1000). See how special bits appear as s, S, t, or T in the symbolic output.

Quick Presets

One-click presets for the most common permission sets: 777, 755, 750, 644, 600, and 400. Start from a preset and customize from there.

Understanding Unix File Permissions

Unix and Linux file permissions control who can read, write, or execute a file. Every file has three sets of permissions: one for the owner, one for the group, and one for everyone else (others). The chmod command is used to change these permissions.

Octal (Numeric) Notation

In octal notation, each permission set is represented by a single digit from 0 to 7. The digit is calculated by adding: 4 for read, 2 for write, and 1 for execute. For example, chmod 755 means the owner gets 7 (4+2+1 = read+write+execute), the group gets 5 (4+1 = read+execute), and others get 5 (read+execute).

Symbolic Notation

Symbolic notation uses letters: u (user/owner), g (group), o (others), a (all). Combined with operators + (add), - (remove), = (set exactly), and permission letters r (read), w (write), x (execute). Example: chmod u+rwx,g+rx,o+rx file is equivalent to chmod 755 file.

Special Permission Bits

Common Permission Sets

Frequently Asked Questions

What is chmod in Unix/Linux?
chmod (change mode) is a Unix/Linux command used to change the access permissions of files and directories. It controls who can read, write, or execute a file. Permissions can be specified using octal notation (e.g., chmod 755 file) or symbolic notation (e.g., chmod u+rwx,g+rx,o+rx file). The command requires appropriate privileges -- typically you need to be the file owner or root.
What do the numbers in chmod mean?
Each digit in chmod represents permissions for a different user class: the first digit is for the owner, the second for the group, and the third for others. Each digit is the sum of: 4 (read), 2 (write), and 1 (execute). For example, 7 means read+write+execute (4+2+1), 5 means read+execute (4+1), and 4 means read only. An optional leading digit controls special bits: 4 for setuid, 2 for setgid, and 1 for sticky bit.
What is the difference between chmod 755 and chmod 644?
chmod 755 (rwxr-xr-x) gives the owner full access (read, write, execute) and gives the group and others read and execute access. This is typical for executable scripts, programs, and directories. chmod 644 (rw-r--r--) gives the owner read and write access, and gives the group and others read-only access. This is the standard permission for regular files like HTML, CSS, configuration files, images, and documents.
What are setuid, setgid, and sticky bit?
These are special permission bits in Unix. Setuid (set user ID, octal 4000) makes an executable run with the permissions of the file owner rather than the user who runs it -- for example, the passwd command uses setuid to modify /etc/shadow. Setgid (set group ID, octal 2000) makes an executable run with the group's permissions, or causes new files created in a directory to inherit the directory's group. Sticky bit (octal 1000) on a directory prevents users from deleting files they don't own, which is why /tmp typically has the sticky bit set.
What does rwxr-xr-x mean?
This is the symbolic representation of file permissions, read in groups of three characters. The first group 'rwx' means the owner can read, write, and execute. The second group 'r-x' means the group can read and execute but not write. The third group 'r-x' means others can read and execute but not write. A dash (-) means that particular permission is not granted. This corresponds to octal 755. When special bits are set, 'x' may appear as 's' (setuid/setgid with execute) or 'S' (without execute), and the last position may show 't' (sticky with execute) or 'T' (without execute).
How do I use symbolic notation with chmod?
Symbolic notation uses letters to specify who (u=user/owner, g=group, o=others, a=all), an operator (+ to add, - to remove, = to set exactly), and permissions (r=read, w=write, x=execute, s=setuid/setgid, t=sticky). Multiple clauses can be separated by commas. Examples: 'u+x' adds execute for the owner, 'go-w' removes write for group and others, 'a=rx' sets read+execute for all users, and 'u+rwx,g+rx,o+rx' is equivalent to chmod 755.
Is my data safe when using this tool?
Yes. This chmod calculator runs entirely in your browser using JavaScript. No data is sent to any server. All calculations happen locally on your device. You can verify this by disconnecting from the internet and confirming the tool still works. There is no input data to leak since the tool only deals with permission bits, but rest assured that nothing leaves your browser.

Explore More Developer Tools

Check out our other free developer tools. Decode JWTs, format JSON, parse cron expressions, and more -- all from your browser with no sign-up required.

Cron Expression Parser →