A chmod calculator converts a Unix mode value such as 755 or rwxr-xr-x into its equivalent in the other notation, with explicit handling of setuid, setgid, and sticky bits. Each of the three ordinary octal positions represents one user class — owner, group, and others — and inside a single position read contributes 4, write contributes 2, and execute or directory search contributes 1, so a digit of 7 means read, write, and execute. A four-digit input such as 4755 carries an extra leading digit that combines setuid as 4, setgid as 2, and sticky as 1, while 0755 and 755 represent the same mode bits because the canonical output omits any redundant leading zero. Working in the other direction works the same way: a complete nine-character string such as rwsr-xr-x encodes a unique 12-bit mode, where s and t in the execute positions carry the special bits together with their own case distinction. The Chmod Calculator accepts either form, parses it strictly inside the browser, and displays the matching octal and rwx snapshot along with a per-class permission table you can review before pasting a command template into a terminal.

chmod calculator cheat sheet
chmod calculator cheat sheet

The Octal Digit at a Glance

A single octal digit between 0 and 7 covers exactly one user class. The bits are added rather than listed, so a digit of 6 always means read plus write and never any execute. This is the canonical POSIX mapping that any compliant chmod calculator applies, including the browser-based Chmod Calculator, which evaluates all eight ordinary digit values from 0 through 7.

Octal digitBit sumSymbolicMeaning
00 + 0 + 0---No permission
10 + 0 + 1--xExecute only
20 + 2 + 0-w-Write only
30 + 2 + 1-wxWrite and execute
44 + 0 + 0r--Read only
54 + 0 + 1r-xRead and execute
64 + 2 + 0rw-Read and write
74 + 2 + 1rwxRead, write, execute

The three digits from left to right are owner, group, and others. A three-digit mode like 755 maps to rwxr-xr-x: the owner gets full access, while group and others each receive read and execute but no write bit. This consistent mapping is what lets you read a file listing and reconstruct the octal form without a tool, and what lets a tool translate the other direction with no loss of information across the full range of 4,096 distinct modes from octal 0000 through 7777.

Reading the Nine-Character Symbolic Pattern

Symbolic notation always uses exactly nine characters when it represents a complete mode, and that is the only form the Chmod Calculator accepts in symbolic-to-octal direction. The first three characters belong to the owner, the next three to the group, and the last three to others. Within each group the slots are fixed: position one is read, position two is write, position three is execute or directory search. This strict structure is what lets a parser round-trip between the two notations without ambiguity, because each of the nine positions corresponds to a single mode bit and never collides with another.

The calculator rejects a leading file-type character such as the initial dash in -rwxr-xr-x, because that dash belongs to ls output and would shift the next three classes to the wrong user. It also refuses chmod modification expressions like u+x or g-w, since those are partial instructions rather than a complete permission snapshot and carry different information about intent. Input is checked against exactly the nine position-valid characters, which are r, w, x, or hyphen, with lowercase s and t reserved for the special-bit execute positions, so a value like rwxr-xr-x parses cleanly while rwx-r-xr-x returns a syntax error instead of being silently fixed.

Special Bits and the Four-Digit Mode

When setuid, setgid, or sticky is involved, the mode gains a fourth octal digit at the front. The leading digit combines setuid as 4, setgid as 2, and sticky as 1, so a leading 4 means setuid is set, a leading 2 means setgid is set, and a leading 1 means sticky is set. The remaining three digits keep their usual owner, group, and others meaning, so 4755 carries setuid over an ordinary 755 mode and 6755 carries both setuid and setgid. A three-digit input explicitly means no special bit, while the explicit leading zero in 0755 represents the same mode bits as 755 and is dropped in the canonical output.

Leading digitBit sumSpecial bits set
0 (or absent)0None
10 + 0 + 1Sticky only
20 + 2 + 0Setgid only
30 + 2 + 1Setgid and sticky
44 + 0 + 0Setuid only
54 + 0 + 1Setuid and sticky
64 + 2 + 0Setuid and setgid
74 + 2 + 1Setuid, setgid, and sticky

In the symbolic output the special bits share the three execute positions, so the case of the character carries information. Lowercase s means setuid in the owner slot or setgid in the group slot is set together with the matching execute bit. Uppercase S means the special bit is set without an execute bit in that slot. The sticky bit follows the same rule in the others slot using t and T. Preserving this case is required to round-trip back to the same octal; swapping an s for an S would decode to a different 12-bit mode. So 4755 reads rwsr-xr-x because setuid and owner-execute are both set, while 4655 reads rwSr-xr-x because setuid is set but the owner cannot execute.

Convert a Chmod Value in the Calculator

  1. Open the Chmod Calculator and pick a direction. Choose octal-to-symbolic when you have digits like 755 or 4755, or symbolic-to-octal when you have a snapshot like rwxr-xr-x or rwsr-xr-x.
  2. Enter one complete value in the strict form. Type exactly three ASCII octal digits such as 755, or four digits such as 4755, with no 0o prefix, sign, space, separator, decimal point, underscore, or Unicode lookalike; in the symbolic direction, type exactly nine characters with three slots per user class.
  3. Convert and review the result. The calculator displays the canonical octal value, the nine-character symbolic value, and an owner, group, and others table with separate read, write, and execute columns plus a label for any setuid, setgid, or sticky bit that is present.
  4. Confirm the target file, the actual ownership, and the least-privilege need before copying. Owner, group, and others are abstract labels on this page until the real user and group on disk have been verified, and the calculator only describes the requested mode bits, never the policy outcomes.
  5. Copy the chmod OCTAL FILE template to the clipboard. FILE is a placeholder; the tool never asks for, resolves, or operates on a real path, so replace it with the actual path in your terminal before running the command.

The calculator runs entirely in the current tab. If the browser blocks the clipboard write, the visible octal and symbolic values remain on screen so you can copy them by hand, and any change to the input clears the previous result, error, and copy status before a fresh conversion runs.

Common Modes for Files and Directories

The modes engineers most often reference are typical defaults rather than a substitute for the policy on the box you are touching, since umask, ACLs, and ownership context can still override them. Use the Chmod Calculator to confirm a non-standard value before committing it. 600 (rw-------) fits private files only the owner can read; 644 (rw-r--r--) is the default for public-readable assets such as static site output; 700 (rwx------) covers private scripts and home directories; 755 (rwxr-xr-x) makes an executable runnable by anyone with read access; 750 (rwxr-x---) shares a directory within a group without exposing it to the world; 1777 (rwxrwxrwt) is the canonical /tmp pattern with sticky; and 4755 (rwsr-xr-x) wraps setuid around an ordinary executable. The 1777 entry is where the special-bit table meets the everyday cheat sheet: a leading 1 means sticky, and the lowercase t in the others execute position confirms sticky is set alongside execute, which is the canonical form for a directory that anyone can write to but only the owner of each entry can delete or rename.

What the Calculator Cannot Tell You

Mode bits describe what is requested, not what the kernel will actually allow. POSIX defines the bit positions in chmod's manual page, but access is still gated by file ownership, file access control lists, Linux capabilities, mount options such as nosuid and nodev, read-only filesystems, and any sandbox a process runs under. A process also needs traverse permission on every parent directory before it can reach the target; running chmod on /var/log/app/secret.log has no useful effect if /var is mode 700 to a different owner.

The calculator's chmod conversion does not consider umask, because umask affects only the bits requested when a file is created, not the bits that already exist on disk. It also does not recurse through directories, follow symbolic links, modify ACL entries, calculate an umask result, inspect current permissions, or determine whether the resulting command is safe to apply. Special bits deserve operational care: setuid and setgid on executable files can alter effective identities and may be cleared or ignored under particular ownership or security conditions, setgid on directories commonly influences the group of new children, and sticky on directories commonly restricts deletion or renaming by users who do not own the entry. Treat the calculator's output as a review aid for the requested mode, confirm ownership and parent-directory traversal separately, and prefer the least privilege the actual user and service need rather than copying broad examples such as 777 to bypass an access problem.