chmod Calculator: Toggle bits, read the chmod command instantly.
Runs in your browser — nothing you paste leaves this page. How we prove that
chmod calculator playground
The matrix, octal and symbolic fields all stay in sync — edit any one and the others follow.
Results update as you type — press Enter to run now.
Check the read / write / execute matrix or type an octal (755) or symbolic (rwxr-xr-x) value — including setuid, setgid and the sticky bit. Every field stays in sync and the chmod command is ready to copy, all in your browser.
The Gap
One wrong digit, a world-writable file.
chmod looks simple until the numbers bite. Is 644 or 664 the safe one? Does 777 really mean what you think? Fat-finger a digit and you either lock yourself out or leave a file writable by everyone on the box.
This free chmod calculator shows the octal value, the rwxr-xr-x string, the ls -l form and the exact chmod command side by side — including setuid, setgid and the sticky bit. Toggle a checkbox, type a value or paste an ls -l line; every field updates together so you confirm the mode before you run it.
It is pure bit math in your browser — no server, no account, nothing uploaded. Share a specific mode with a #m=755 deep link and it reopens exactly as you left it.
The Pipeline
How it works.
Four deterministic steps turn the permission matrix into an octal value, a symbolic string and a ready-to-run command — all inside your browser tab.
-
Read the nine permission bits.
Owner, group and other each get a read / write / execute triad — nine bits in all, plus three special bits (setuid, setgid, sticky).
-
Pack each triad into a digit.
rwx = 4+2+1 = 7, r-x = 5, rw- = 6. Three triads become three octal digits; a set special bit adds a leading fourth digit.
-
Spell it out symbolically.
The same bits render as rwxr-xr-x, with s/S in the execute slots for setuid/setgid and t/T for the sticky bit — exactly as ls -l shows them.
-
Emit the command.
Drop the octal into chmod <mode> <file> and copy it. Every field stays in sync, so edit any one and the rest follow.
Permission Reference
Octal ↔ symbolic.
Each octal digit encodes one read / write / execute triad; the optional leading digit carries the special bits. These two tables are the whole mapping.
The per-digit triad
One digit 0–7 per owner / group / other group.
octal bits symbolic meaning
0 --- --- no access
1 --x --x execute only
2 -w- -w- write only
4 r-- r-- read only
5 r-x r-x read + execute
6 rw- rw- read + write
7 rwx rwx read + write + execute The special bits
setuid / setgid / sticky ride the leading digit and show as s/S and t/T.
high digit bit symbolic slot example
4 setuid owner exec (s/S) 4755 rwsr-xr-x
2 setgid group exec (s/S) 2755 rwxr-sr-x
1 sticky other exec (t/T) 1777 rwxrwxrwt
exec OFF -> uppercase: 4644 rwSr--r-- · 1666 rw-rw-rwT Next Step
Reshape identifiers and text the same way.
The chmod calculator is one of a set of pure, in-browser utilities. Generate UUIDs and ULIDs, convert a string between camelCase and snake_case, or turn a title into a clean URL slug — no server, no signup.
chmod 755 deploy.sh # rwxr-xr-x
chmod 644 config.yml # rw-r--r--
chmod 4755 /usr/bin/x # setuid, rwsr-xr-x
chmod 1777 /tmp # sticky, rwxrwxrwt FAQ
Questions, answered.
Tap a question to expand the answer.
What does chmod 755 mean?
chmod 755 sets read, write and execute for the owner (7 = 4+2+1) and read plus execute — but not write — for the group and everyone else (5 = 4+0+1). Symbolically it is rwxr-xr-x. It is the usual mode for directories and executables: the owner can change the contents while everyone else can only read and run them.
What is the difference between octal and symbolic permissions?
They describe the same nine permission bits two ways. Octal packs each read/write/execute triad into one digit 0–7 (rwx = 7, r-x = 5, rw- = 6), so 644 means rw-r--r--. Symbolic spells the bits out as three groups of rwx for owner, group and other. This calculator keeps both — plus the checkbox matrix — in sync, so editing any one updates the rest instantly.
When do I use a 4-digit chmod value like 4755?
The optional leading digit carries the special bits: 4 = setuid, 2 = setgid, 1 = sticky (they add, so 6 = setuid+setgid). You only need the fourth digit when one of those is set — 4755 is setuid + rwxr-xr-x. When the special digit is zero the conventional form drops it, so 0755 is written simply as 755.
What do setuid, setgid and the sticky bit do?
setuid (4000) makes an executable run as its owner rather than the caller; setgid (2000) runs it as its group, or on a directory makes new files inherit that directory’s group. The sticky bit (1000) on a shared directory like /tmp lets users delete only their own files. In symbolic mode they appear in the execute slots as s/S (setuid/setgid) and t/T (sticky) — uppercase when the underlying execute bit is off.
What does the s or t in rwsr-xr-x mean?
A lowercase s in the owner or group execute slot means that special bit is set and execute is also on (setuid or setgid). An uppercase S means the special bit is set but execute is off — often a mistake. Likewise t in the other-execute slot is the sticky bit with execute on, and T is sticky with execute off. This tool renders all of them exactly as ls -l would.
How do I read an ls -l permission string?
The first character is the file type (- for a regular file, d for a directory, l for a symlink); the next nine are the owner, group and other rwx triads. Paste a full 10-character string like -rwxr-xr-x into the symbolic field and the calculator strips the type character and shows the octal and chmod command.
Does anything I type get uploaded?
No. The conversion is pure bit math running 100% in your browser — there is no server, no account and no logging. The permission values you enter never leave your device.
Can I share a specific permission value?
Yes. Every valid value updates the URL with an #m= fragment (for example #m=755), and the Copy link button copies that full URL. Open it later or send it to a teammate and the calculator restores that exact mode.
What does chmod 777 mean, and how does it differ from 755?
chmod 777 gives read, write and execute to the owner, the group and every other user (rwxrwxrwx), so any account on the system can modify, replace or delete the contents. chmod 755 (rwxr-xr-x) keeps write access with the owner alone and lets everyone else only read and execute. 777 is almost never the right fix for a permission error; 755 for directories and scripts and 644 for ordinary files cover most cases.
How do I calculate Linux file permissions?
Give each permission a value — read 4, write 2, execute 1 — and add them up separately for the owner, the group and others, which yields three digits. For example, rw- is 4 + 2 = 6 and r-- is 4, so rw-r----- is 640. A fourth leading digit adds setuid (4), setgid (2) and the sticky bit (1). Tick the boxes in the calculator and it does the addition, showing the octal value, the symbolic string and the chmod command together.
How do I chmod recursively, and why is chmod -R 777 a mistake?
chmod -R applies one mode to a directory and everything beneath it, files and subdirectories alike. That is the problem with -R 777 (or even -R 755): every regular file becomes executable, and with 777 writable by every user on the machine. Set directories and files separately instead, with find . -type d -exec chmod 755 {} + and find . -type f -exec chmod 644 {} +, or use chmod -R u=rwX,go=rX, where the capital X adds execute only to directories and files that are already executable.
What does chmod +x do?
chmod +x adds execute permission for the owner, the group and others, but because it names no who-letter, any bit set in your umask is left alone: under umask 077 only the owner gains it, while chmod a+x sets all three regardless. Execute is what lets you run a script directly, so ./deploy.sh fails with Permission denied until it is set, and the script should still begin with a shebang line such as #!/bin/sh so it runs under the intended interpreter. Use chmod u+x to make a file executable for the owner alone. On a directory, x means traverse: permission to enter it and reach the files inside.
More free, private DevOps tools.
The chmod Calculator is one tool in OpsCanopy — a growing canopy of browser-based validators, converters and testers that never touch a server.
More in Utilities
Read more about this
- chown command in Linux: change file owner and group The chown command in Linux explained: user:group syntax, chown -R and symlinks, --reference, chgrp, chmod vs chown, and fixing Docker volume permission errors with numeric IDs.
- chmod command in Linux: syntax, examples and common mistakes The chmod command in Linux explained: octal and symbolic modes, chmod +x, chmod -R and its traps, setuid, setgid and sticky bits, umask, and how to fix Permission denied.
42 free tools, every one offline-capable — opscanopy.com works with no signup and nothing uploaded.
Related utilities: the UUID / ULID Generator, the Case Converter and the Slugify tool, or the CVE Ignore Converter — or browse the full tools directory.
Provided as-is for convenience; always double-check permission changes on production systems. OpsCanopy is free and open.