ASCII Character Rotator

Rotates each character's code by a chosen shift amount within a chosen range, letters only (generalizing ROT13), printable ASCII, or the full 7-bit range, passing out-of-range characters through unchanged, with strict ASCII validation. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-27

Overview

Introduction

ROT13 and ROT47 are both fixed instances of the same idea: shift every character's code by some amount within some range, wrapping around at the edge.

This tool exposes that general idea directly, letting you pick both the shift amount and the range it wraps within, instead of being locked into one traditional combination.

What Is ASCII Character Rotator?

A configurable Caesar-style rotation cipher for strict 7-bit ASCII text, supporting three range modes: letters only (A-Z/a-z), printable ASCII (32-126), and the full 7-bit range (0-127).

Within whichever range you choose, each in-range character's code shifts by your chosen amount, wrapping around at the top of the range back to the bottom, exactly like a clock face.

How ASCII Character Rotator Works

Input is validated as strict ASCII first. Then each character's code is checked against the selected range: letters mode checks A-Z and a-z separately, printable mode checks 32-126, full mode treats every code as in range.

For an in-range character, its code minus the range's starting value, plus the shift, is taken modulo the range's size, then added back to the starting value, standard modular rotation arithmetic. Out-of-range characters (in letters or printable mode) are returned unchanged.

When To Use ASCII Character Rotator

Use it whenever you want ROT13- or ROT47-style obfuscation but with a shift amount other than the traditional 13 or 47, or want the letters-only convention over the full-range one.

It's also a hands-on way to explore how the choice of rotation range changes which characters get scrambled and which stay legible.

Features

Advantages

  • Covers ROT13 and a ROT47-like transform as special cases of one configurable tool, rather than needing separate tools for every shift amount.
  • Self-inverse for any shift: rotating by -N undoes a rotation by N in the same range mode.
  • Clear range boundaries mean you always know exactly which characters will and won't change.

Limitations

  • The printable range here (32-126, including space) is not byte-identical to ROT47's traditional range (33-126, excluding space); use the dedicated ROT47 tool if you need an exact match.
  • Like any fixed-shift substitution, this provides no real security, it's for obfuscation, puzzles, and teaching, not confidentiality.

Examples

Letters-only mode at shift 13 (matches ROT13)

Input

Attack at dawn

Output

Nggnpx ng qnja

Only the letters rotate 13 places within A-Z/a-z; the space is untouched, exactly matching the dedicated ROT13 tool's output.

Full 7-bit mode with a small shift

Input

AB

Output

CD

With range set to "Full 7-bit" and shift 2, every character's code advances by 2 within the full 0-127 range: 'A' (65) becomes 'C' (67), 'B' (66) becomes 'D' (68).

Letters-only mode leaves digits and punctuation alone

Input

Room 42B!

Output

Ebbz 42O!

With shift 13 in letters-only mode, only the letters rotate; the digits and the exclamation mark pass through unchanged.

Best Practices & Notes

Best Practices

  • Use letters-only mode when you want the output to still visually read as "word-shaped" text with recognizable spacing and punctuation.
  • Use full 7-bit mode when you specifically want to scramble absolutely everything, including control characters, for a fuzzing or teaching exercise.

Developer Notes

Each range mode computes `base + ((code - base + shift) mod modulus + modulus) mod modulus` for in-range codes: letters mode applies this separately to the A-Z (base 65, modulus 26) and a-z (base 97, modulus 26) ranges; printable mode uses base 32, modulus 95; full mode uses base 0, modulus 128 and treats every code as in-range. The double modulo handles negative shift amounts correctly.

ASCII Character Rotator Use Cases

  • Generalizing the classic ROT13 spoiler-hiding convention to an arbitrary shift amount
  • Building custom Caesar-cipher puzzles with a chosen range and shift
  • Demonstrating how range choice (letters vs. full byte range) changes which characters a rotation cipher affects

Common Mistakes

  • Expecting exact byte-for-byte ROT47 output from printable mode; the ranges differ slightly (32-126 here vs. ROT47's 33-126).
  • Forgetting that a negative shift is how you decode; there's no separate decode button, just negate the shift amount you encoded with.

Tips

  • To decode, apply the same range mode with the shift amount negated.
  • Shift 13 in letters-only mode reproduces ROT13 exactly, a handy way to sanity-check the tool against the dedicated ROT13 Encoder/Decoder.

References

Frequently Asked Questions