Convert checkbox permissions to octal and symbolic modes
No uploads — everything runs locally in your browser

Tip: use a relative or absolute path (example: ./script.sh).
| Owner (u) | Group (g) | Public (o) | |
|---|---|---|---|
| Read (4) | |||
| Write (2) | |||
| Execute (1) |
The Chmod Calculator helps you turn a set of permissions (read/write/execute for owner, group, and public) into the two formats you see most often on Linux and Unix:
Octal mode
A 3-digit number like 755
Symbolic mode
A 9-character string like rwxr-xr-x
It’s useful for developers, sysadmins, students, and anyone who needs to set file permissions without memorizing the bit math.
If you’re working with encoded strings or tokens, you may also like our Basic auth generator for quick header creation.
Worked example
Suppose you want:
Result: 755 and rwxr-xr-x.
Command you’ll run
With the octal value you can run:
Replace path with your actual file or folder.
Background: A cloned repo contains a script you need to run.
Inputs: Owner: rwx, Group: r-x, Public: r-x
Result: Octal: 755 (symbolic: rwxr-xr-x)
How to apply it: Run chmod 755 ./script.sh, then execute the script.
Background: You created an SSH key and want it readable only by you.
Inputs: Owner: rw-, Group: ---, Public: ---
Result: Octal: 600 (symbolic: rw-------)
How to apply it: Run chmod 600 ~/.ssh/id_ed25519 to satisfy strict SSH checks.
Background: A service writes logs; teammates should read but not edit.
Inputs: Owner: rw-, Group: r--, Public: ---
Result: Octal: 640 (symbolic: rw-r-----)
How to apply it: Set group ownership, then apply chmod 640 to keep logs read-only.
Background: Some files are executable when they shouldn’t be (or vice versa).
Inputs: Pick a target mode for files and folders.
Result: Common defaults: 644 for files, 755 for folders
How to apply it: Use the calculator to sanity-check modes before applying them in bulk.
You need the chmod number quickly
You know the desired behavior (who can read/write/execute) but not the octal mode.
You want to avoid over-sharing
You’re making something private and want to double-check that group/public are off.
You’re setting folder defaults
You want common folder modes (like 755) for web roots or shared directories.
You’re debugging “Permission denied”
You’re comparing the symbolic mode you see in ls -l with the chmod you intend to apply.
You’re learning Linux permissions
You want an interactive way to connect checkboxes to rwx and octal math.
You need a quick sanity check
Before running a command in production, you want to confirm the mode is exactly right.
When this may not apply
This calculator covers the classic three-digit modes (like 755). It does not include special bits such as setuid, setgid, or sticky bit (the 4th digit) — if you need those, use the man page as the source of truth.
Use 755 for executable scripts and directories
Owner can edit; others can read/enter/execute but not modify.
Use 644 for typical text files
Owner can edit; group/public can read.
Use 600 for secrets
Good for private keys or sensitive config files.
Double-check execute (x)
Accidentally setting execute on a file can be confusing and sometimes risky.
Working with binary or octal representations elsewhere? Our Integer base converter can help you translate between bases.
Each group (owner, group, public) is a 3-bit value built from the same weights:
Where is read, is write, and is execute. Each variable is either 1 (checked) or 0 (unchecked).
Example: rw-
Example: r-x
“Owner” applies to the file’s owning user. “Group” applies to the owning group. “Public” (sometimes called “others”) applies to everyone else.
On files, execute means “you can run it as a program/script”. On directories, execute effectively means “you can enter/traverse the directory”.
It means owner has rwx, and group/public have r-x. In weights: , .
For directories, execute is “traverse”. Without it, you can’t cd into the directory even if you can list its name.
Usually yes — results are not sensitive. But if you put a real path in the input, consider clearing it before sharing.
No. This calculator focuses on the classic three digits. Special bits are often represented as a fourth digit.
For the basic rwx permissions, yes: three characters for each of owner, group, and public.
This tool is for educational and convenience purposes. Always verify permissions before applying them to production systems, especially when dealing with secrets, server config, or shared environments.
If you’re unsure, consult your OS documentation or a systems administrator.
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.