Current Permission
{{ fullNumeric }}
{{ fullSymbolic }}
Presets
Permissions

{{ label }}

Special Bits
Direct Editing
Options

Introduction

File permission bits in Unix-like systems control who may read, write, or execute each file and directory. The numeric form (e.g., 755) packs those bits into three octal digits representing user, group, and others, while the symbolic form (u=rwx,g=rx,o=rx) clarifies intent. Setting accurate permissions prevents data leaks and accidental system damage.

This calculator lets you toggle individual read, write, and execute boxes for each entity, automatically converting selections into precise numeric and symbolic outputs. It also handles special bits such as SetUID, SetGID, and Sticky, previews the exact chmod command, and instantly copies any result to your clipboard for terminal-ready use.

Use this tool during deployment or troubleshooting sessions to confirm that every permission digit, flag, and command variant aligns with internal security policies, compliance requirements, and automation scripts, ensuring predictable production runtime behavior; always carefully review recursive operations on critical directories to avoid inadvertently exposing sensitive configuration files or executables.

Technical Details:

The interface uses a lightweight reactive engine to bind form controls with computed permission outputs. All logic runs client-side, so no data travels beyond the browser tab. Clipboard actions rely on the standard navigator.clipboard API with a fallback to the legacy execCommand method for older environments.

Dynamic Permission Matrix

Select read, write, and execute boxes for user, group, and others; updates propagate instantly to all outputs.

Special Bits Toggle

SetUID, SetGID, and Sticky options add a leading octal digit and modify symbolic flags without extra typing.

Preset Shortcuts

Common configurations such as 644, 755, and 777 apply with one click, accelerating repetitive workflows.

Command Preview Generator

The tool assembles a complete chmod command string, including optional -R and -v flags plus target path.

Clipboard Integration

Copy numeric, symbolic, command, or ls -l previews directly; a transient “Copied!” state confirms success.

Calculations & Scoring:

The calculator multiplies each selected permission by its weight (read = 4, write = 2, execute = 1) and concatenates results for user, group, and others. Special bits form an additional leading digit as shown below.

BitWeightExample
Read (r)44 + 0 + 1 = 5 (r--x)
Write (w)24 + 2 + 1 = 7 (rwx)
Execute (x)10 + 0 + 1 = 1 (--x)
SetUID / SetGID / Sticky4 / 2 / 14755 (SetUID + 755)

All calculations run entirely in your browser; no data leaves your device.

Step-by-Step Guide:

Follow these steps to produce a ready-to-paste command.

  1. Click a Presets button to load a starting value.
  2. Use the Permissions checkboxes to fine-tune read, write, and execute flags.
  3. Toggle Advanced to reveal Special Bits or direct numeric editing if required.
  4. Switch on Recursive (-R) or Verbose (-v) in Options when appropriate.
  5. Enter a destination in the Target Path field.
  6. Copy the generated Command using the adjacent Copy button.

FAQ:

Answers to common permission questions.

What does 755 mean?

It grants read, write, and execute to the owner, and read + execute to group and others.

How are special bits applied?

A leading digit (4,2,1) is prepended; SetUID adds 4, SetGID 2, Sticky 1.

Is my data stored?

No. All inputs and outputs remain in-browser and vanish when the tab closes.

Can I paste a symbolic string?

Yes. Use the Direct Editing section and input a valid symbolic expression like u=rwx,g=rx,o=rx.

Why does 000 still execute?

Execution depends on inherited directory permissions; ensure the directory itself is not executable.

Troubleshooting:

Resolve common permission-related issues quickly.

  • Command fails with “Operation not permitted” — confirm ownership or prepend sudo.
  • Numeric preview shows four digits unexpectedly — a special bit is enabled; check Advanced options.
  • Clipboard copy does nothing — your browser may block clipboard API; try the manual text selection fallback.
  • Symbolic input rejected — ensure each segment starts with u=, g=, or o=.
  • Recursive changes froze the terminal — stop the process and verify you are not modifying a mount point.

Advanced Tips:

Boost your workflow with expert techniques.

  • Combine symbolic and numeric forms in scripts for self-documenting clarity.
  • Use leading zeros (0755) to keep octal values explicit in Python or Bash variables.
  • Create aliases for frequent permission sets to speed up shell sessions.
  • Audit permission changes with git diff --stat when tracking infrastructure code.
  • Pair recursive operations with --preserve-root safeguards on GNU chmod.

Glossary:

Essential permission terminology.

Octal
Base-8 numbering system used to encode permission bits.
SetUID
Executes files with the owner’s user ID, elevating privileges temporarily.
SetGID
Runs files with the group ID or inherits directory group ownership.
Sticky Bit
Restricts file deletion within a directory to the file’s owner.
Recursive
Applies the command to all files and subdirectories within a path.
Embed this tool into your website using the following code: