CyberChef-style data transformations directly inside Visual Studio Code.
ts-chef is a Visual Studio Code extension for transforming, decoding, encoding, inspecting, and analyzing data without leaving the editor. It brings a CyberChef-inspired workflow into VS Code, with a TypeScript-based operation engine and editor-focused tools for day-to-day security, development, and troubleshooting work.
Use it to inspect encoded strings, build repeatable transformation pipelines, decode suspicious payloads, format structured data, calculate hashes, test ciphers, and quickly move between raw input and usable output.
- 480+ operations for encoding, decoding, hashing, compression, cryptography, parsing, formatting, images, and text processing.
- Quick Convert for applying suggested transformations directly to selected editor text.
- Pipeline Editor for composing multi-step recipes with configurable operation arguments.
- Pattern scanning to detect Base64, hex, URLs, and other recognizable data in documents.
- Inline highlighting and hovers for discovered patterns and quick conversion previews.
- Saved pipelines for reusable workflows across a workspace.
- Variable support for storing values and reusing them in later pipeline steps.
- Deep Analysis for exploring selected data and identifying likely formats or encodings.
Install ts-chef from the Visual Studio Marketplace, or search for ts-chef in the VS Code Extensions view.
Requirements:
- Visual Studio Code
1.85.0or newer
- Select text in the editor.
- Open the context menu.
- Choose tschef: Quick Convert Selection.
- Pick one of the suggested transformations.
- Open the command palette.
- Run tschef: Open Pipeline Editor.
- Add operations, configure their arguments, and bake the selected input.
- Save pipelines when you want to reuse a recipe later.
You can run pipelines programmatically or via commands using the pipe-syntax string representation.
Syntax format:
OperationName | OperationName(arg1=value1, arg2=value2)
- Steps are separated by the pipe character
|. - Arguments for an operation are passed inside parentheses
(...)askey=valuepairs or indices. - Example:
From Base64 | To Hex(Uppercase=true) | URL Encode - Pipe characters inside parentheses are preserved and not treated as step separators (e.g. for regex patterns).
Run tschef: Scan Document for Patterns to find recognizable encoded or structured values in the current document. Detected values can be highlighted in the editor and inspected through hover actions.
Useful settings:
tschef.highlightingEnabledcontrols editor highlighting.tschef.confidenceThresholdcontrols when hover conversion options are shown.tschef.autoScanOnSavescans documents automatically when they are saved.
- Repository
- Usage Guide
- Contributing Guide
- API Documentation (Offline) - Download
ts-chef-docs-VERSION.zipfrom the releases to browse offline.
Clone the repository and install dependencies:
git clone https://github.com/MichaelWeissDEV/ts-chef.git
cd ts-chef
npm installCommon commands:
npm run build
npm test
npm run lint
npm run packageProject layout:
src/extension.tscontains the VS Code extension entry point.src/chef/contains the TypeScript operation engine.src/chef/operations/contains individual transformation operations.src/providers/contains VS Code tree, hover, scan, and decoration providers.src/panels/contains the pipeline editor webview.test/contains the test suite.
This project is licensed under the Apache License 2.0.
Many operations are ported from GCHQ CyberChef, which is also licensed under Apache 2.0.
