How to use: Caret/M-decode
Caret/M-decode is a free online Validators & Checksums tool that decodes caret or M-encoded strings, i.e. ^M turns into a newline, M-^] turns into 0x9d. Sources such as `cat -v`. Please be aware that when using `cat -v` ^_ (caret-underscore) will not be encoded, but represents a valid encoding (namely th instantly in your browser. Paste your data, adjust the options and get the result in real time — no installation, no sign-up, and nothing is ever uploaded to a server.
Description
Decodes caret or M-encoded strings, i.e. ^M turns into a newline, M-^] turns into 0x9d. Sources such as `cat -v`. Please be aware that when using `cat -v` ^_ (caret-underscore) will not be encoded, but represents a valid encoding (namely th
- Validators & Checksums
- Because everything is computed client-side, Caret/M-decode is safe to use with sensitive data such as API keys, tokens or private logs.
How to use
Using Caret/M-decode takes three steps:
- Paste your data into the input box (or load the example).
- Configure the options to match your target format or scenario.
- Copy, download or inspect the output — it updates live as you type.
Run
Use cases
Common situations where Caret/M-decode helps:
- Decodes caret or M-encoded strings, i.e. ^M turns into a newline, M-^] turns into 0x9d. Sources such as `cat -v`. Please be aware that when using `cat -v` ^_ (caret-underscore) will not be encoded, but represents a valid encoding (namely th
Parameters
This tool has no options — it works on the input alone.
FAQ
What is Caret/M-decode?
Caret/M-decode decodes caret or M-encoded strings, i.e. ^M turns into a newline, M-^] turns into 0x9d. Sources such as `cat -v`. Please be aware that when using `cat -v` ^_ (caret-underscore) will not be encoded, but represents a valid encoding (namely th. It runs entirely in your browser, so your data stays private.
Is Caret/M-decode free to use?
Yes. Caret/M-decode is free, unlimited and works without registration or installation.
Does my data get uploaded?
No. All processing happens locally in your browser; nothing is sent to any server.
Good to know
- Everything runs client-side, so extremely large inputs are limited by your browser tab’s memory rather than by a server upload limit.
- The worked example below could not be pre-computed for this tool (threw: function is not iterable (cannot read property Symbol(Symbol.iterator))); the interactive tool above still works normally.