chmod Calculator
Calculate Unix file permissions instantly. Switch between octal (755), symbolic (-rwxr-xr-x) and a visual checkbox grid. Includes setuid, setgid and sticky-bit support.
chmod Calculator Tool
Advanced — setuid, setgid, sticky bit
setuid runs the executable as the file owner. setgid inherits the group; on dirs, new files inherit the dir's group. sticky on a directory means only the file owner can delete it (used on /tmp).
How to use the chmod calculator
Click the permission checkboxes
Tick read, write or execute for owner, group and public independently. The octal and symbolic fields update live.
Or type a value directly
Paste an octal (e.g. 755) or a symbolic string (e.g. -rwxr-xr-x) into the input fields. The grid and other outputs reflect your input.
Try a preset
The preset pills (644, 755, 600, 1777, …) load common values instantly. Hover for what each is typically used for.
Copy the result
Use the Copy buttons to grab the octal, symbolic or full chmod command for pasting into your terminal or a deploy script.
Understanding Unix file permissions
Every file and directory on a Unix-like system — Linux, macOS, FreeBSD, the BSD-based router and NAS firmware that runs much of the internet — carries a small piece of metadata describing who is allowed to read it, modify it and (for executables) run it. That metadata is the permission mode, and the chmod command (CHange MODe) is how administrators and developers set it. The calculator above is a visual front-end for the same arithmetic that chmod performs.
Three classes, three bits
Unix permissions split the world into three classes: the file's owner (a specific user), the file's group (a specific group of users), and everyone else. For each class, the permission mode records three bits: read (4), write (2) and execute (1). Adding the bits per class gives a digit from 0 (no permissions) to 7 (read + write + execute). The mode is conventionally written as three octal digits — one per class — so 755 means owner has 7 (rwx), group has 5 (r-x) and public has 5 (r-x).
The symbolic form (rwxr-xr-x) writes the same information differently. A dash replaces a missing permission; the order is always read, write, execute for each class. The leading character indicates file type — usually - for a regular file, d for a directory, l for a symbolic link. So the symbolic form -rwxr-xr-x describes a regular file with mode 755.
The fourth digit and the special bits
Fewer developers know that chmod accepts a fourth, leading octal digit for the special bits. Setuid (4) makes an executable run with the owner's user-ID instead of the caller's — this is how sudo and passwd can do privileged work. Setgid (2) does the same for group; on directories it causes newly-created files to inherit the directory's group rather than the creator's primary group. The sticky bit (1) on a directory restricts deletion to the file's owner — Linux's /tmp uses mode 1777 so every user can write but no user can delete another user's files. Special bits combine with the regular bits using the same additive scheme.
The recommendations a Singapore or Malaysian sysadmin should know
Most production deployments in the ASEAN cloud-hosting market — AWS Singapore, Tencent Cloud, Alibaba Cloud, plus the regional players like Exabytes, Vodien and Hostinger — run Linux servers where permission hygiene directly affects compromise risk. The general rules: regular files almost always want 644 (owner read+write, everyone else read-only). Directories almost always want 755 (owner read+write+execute to enter, everyone else read+execute). SSH private keys MUST be 600 — OpenSSH refuses to use a private key whose mode allows any group or other access. Web-application files served by nginx or Apache should rarely be world-writable; 666 on a file is almost never the right answer outside development. When you see 777 in a production deployment, treat it as a smell: it means whoever set it could not be bothered to figure out the actual permissions needed and reached for the sledgehammer instead.
What chmod doesn't do
Permission modes are a coarse-grained access control — three classes, three bits. They do not handle "give Alice read access but not Bob" without elaborate group-juggling. For fine-grained control, modern Linux supports access control lists (ACLs) via setfacl and getfacl, which the basic chmod calculator cannot model. The mode also does not encrypt anything — it controls who can ask the kernel for a file, not what they can do once they have a copy. And it does not survive transit cleanly: copying a file via SCP, SFTP, or a Docker bind-mount frequently resets the mode to whatever the destination filesystem defaults to. When in doubt, run ls -la on the destination side and confirm.
10 chmod facts every developer should know
The octal digits aren't arbitrary: they map directly to binary. 755 in binary is 111 101 101 — one bit per permission per class.
OpenSSH refuses to use a private key with permissions any wider than 600. Stricter clients reject 644. Set it to 600 and stop fighting the tool.
The sticky bit was originally invented to keep frequently-used executables in swap memory. Today it only does anything on directories.
setuid binaries are one of the most-audited categories on hardened Linux distributions. CentOS Security Guide lists every setuid file on a default install — there are typically fewer than 25.
Linux's /tmp is the canonical sticky-bit directory. Mode 1777 — sticky + world-writable. Try ls -ld /tmp on any Linux system.
Recursive chmod (chmod -R 755 /) on a live system is one of the most catastrophic accidental commands. It changes EVERYTHING — including /etc/shadow.
The execute bit on a directory is a permission to enter the directory (cd into it, traverse it), not to "execute" files inside. Read alone gives you the file list; execute gives you traversal.
The umask determines the default permission mode for newly-created files. A typical desktop Linux umask is 022, which yields default file mode 644 and dir mode 755 — the values that 95% of files should use anyway.
Windows doesn't have chmod. NTFS uses ACLs and four-state attributes (read-only, hidden, archive, system) which don't map cleanly to Unix modes. WSL fakes it via metadata.
The numbers came from PDP-11 Unix in 1971. The octal-digit scheme has survived more than fifty years of computing change — a clear sign someone got the design right the first time.
Frequently asked questions
chmod 600 ~/.ssh/id_ed25519 (or whatever the key file is named) and try again.chmod +x script.sh sets it for owner, group and public. For owner-only execution, use chmod u+x script.sh.chmod 755 file) sets the mode absolutely. Symbolic (chmod u+rwx,g+rx,o+rx file) adds/removes individual bits. Symbolic is safer when you only want to flip one bit.find ... -exec chmod ... \; with type filters instead.Related News
You may be interested in these recent stories from our newsroom.
-
NEXTDC Opens Peninsular Malaysia's First Tier IV Data Centre with RM2.8 Billion KL1 Launch in Petaling Jaya
NEXTDC officially opened KL1 in Petaling Jaya on 14 May 2026 — an AUD$1 billion facility that holds Peninsular Malaysia's first Uptime Insti...
-
Indonesia's INA Locks In 30% Annual Allocation for AI and Data Centre Infrastructure
Indonesia's sovereign wealth fund INA has formalised a 30% annual cap on digital sector deployment, anchored by a joint venture with Singapo...
-
Microsoft Build 2026: Project Polaris Cuts Copilot's OpenAI Dependency, Copilot Workspace Ships to GA
Microsoft confirmed at Build 2026 in San Francisco that GitHub Copilot will run on Project Polaris — its own mixture-of-experts coding model...
75 more free tools
Calculators, converters, security tools — no signup.