Chmod Calculator
Toggle rwx per owner, group and others plus special bits, and read octal and symbolic chmod.
Octal
644
chmod 644 file
Symbolic
rw-r--r--
ls -l
How to use it
- Check read / write / execute for each of owner, group and others — each checkbox is worth 4, 2 and 1.
- Add special bits when you need them: setuid (4), setgid (2) or sticky (1), shown as the fourth octal digit.
- Read the result as an octal number (for
chmod 644 file) and as a symbolic string (asls -lshows it). - Use the presets row to jump to common modes like 755, 644 or 600.
Common use cases
- Web server files — 644 for files and 755 for directories is the usual starting point before locking down.
- Key material — private keys want 600 so only the file owner can read them.
- Shared directories — 775 plus group ownership for teams that need to write together.
- Learning permissions — toggle one bit at a time and watch how octal digits and the symbolic string move together.
Why it stays private
The calculator is pure local logic: checkboxes, arithmetic and text output. Nothing is sent, so it also works on machines where you would rather not install anything to inspect permissions.
FAQ
Q: What does the uppercase S or T mean?
A: A special bit is set while its execute bit is not. rwSr-xr-x has setuid but no owner-executable bit — usually a configuration mistake worth checking.
Q: Why does setgid on a directory matter? A: On directories, setgid makes new files inherit the directory's group instead of the creator's primary group, which is how shared team folders keep consistent ownership.
Q: Do I need the extra first digit for normal permissions?
A: No. chmod 644 and chmod 0644 are the same; the four-digit form is only needed when a special bit is set, and even then many shells accept three digits plus a separate u+s style command.
Your data stays on this device
Chmod Calculator runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.