Free tool · runs in your browser

Forge

Chain Base64, hex, URL, HTML, gzip, hashes and more into a recipe, then open it in CyberChef. Everything runs in your browser.
Local processing No data sent No account Encoding and hashing

Powered by fflate · MIT, hash-wasm · MIT, jose (panva) · MIT

Add operations to the recipe; they apply from top to bottom to the input. Processing happens in your browser and the recipe can be shared by link.

Recipes

Encoding

Compression

Hashing

Data

Simple ciphers

RRecipe

    Add an operation from the left-hand column, or pick a recipe above.

    Open in CyberChef

    If you tick this box, the input ends up in the URL: browser history, bookmarks, and the logs of any tool that sees the full address. CyberChef reads that part (after #) in your browser, which does not send it to the server.

    0

    What is Base64 encoding?

    Base64 is an encoding that represents bytes using an alphabet of 64 characters. It carries binary data in text formats. It is reversible without a key: encoding data as Base64 does not encrypt it or make it confidential.

    Encoding, encryption and hashing

    These three transformations meet different needs. Mixing them up leads to common audit mistakes, such as treating a Base64 token as protected.

    Encoding

    Encoding adapts data to a transport channel: Base64 to carry binary inside text, URL encoding for a query parameter, hexadecimal to display bytes. It is fully reversible without any secret, so anyone can decode an encoded value. A cookie or token that looks unreadable is often plain Base64.

    Encryption

    Encryption makes data unreadable without the key. The XOR operation here shows the principle, but a short-key XOR falls quickly to frequency analysis, or as soon as the key is reused. To protect data, use AES-GCM or ChaCha20-Poly1305 with proper key management, which is beyond the scope of an encoding tool.

    Hashing

    Hashing produces a fixed-size digest that cannot be reversed. To check a SHA-256, you hash a candidate again and compare. MD5 and SHA-1 are still usable as checksums, but practical collisions exist for both, so they are unsuitable for any security purpose. To store passwords, use a dedicated function such as bcrypt or Argon2, never a fast hash.

    Uses in CTFs and penetration tests

    Forge is mostly for repetitive handling: decoding a Base64 blob and decompressing it (From Base64 then Gunzip), reading the claims of a JWT and spotting an alg: none, peeling off several layers of URL encoding added to get past a WAF, or recovering plaintext behind an XOR with a known key. Since every step works on bytes, recipes that mix binary and text give exact results.

    Operations and what runs them

    • Base64, Base64url, hex, URL and HTML entities: standard browser APIs (btoa, atob, encodeURIComponent, TextEncoder).
    • Gzip, Zlib and raw Deflate, both ways: the fflate library.
    • MD5, SHA-1, SHA-256, SHA-512 and SHA3-256: the hash-wasm library, compiled to WebAssembly.
    • JWT decoding: the jose library, without signature verification (use the JWT Inspector for that).
    • JSON Beautify and Minify, ROT13 and XOR: a few lines on top of JSON and byte arrays.

    Opening the recipe in CyberChef

    CyberChef, published by GCHQ under the Apache 2.0 licence, offers several hundred operations. The Open in CyberChef button translates each step to the equivalent CyberChef operation and builds a link to gchq.github.io. By default the link holds only the recipe. If you tick the box for it, the input is added in Base64 and then ends up in your browser history.

    Local processing

    The data you process stays in your browser and no network request is made while it runs. This page’s share link holds only the list of steps, encoded in the URL fragment (the part after #), which the browser does not send to the server.

    ?Frequently asked questions

    Is my data sent anywhere?

    No. The operations run in your browser: Base64, hex and URL encoding with standard Web APIs, compression with fflate, hashes with hash-wasm (WebAssembly) and JWT decoding with jose. The page link only holds the recipe. The CyberChef link holds your input only if you tick the box for it.

    What is the difference between encoding, encryption and hashing?

    Encoding (Base64, hex, URL) is reversed without any secret and exists to carry data across a channel. Encryption is reversed with a key; XOR is its simplest form and is easy to break. Hashing (MD5, SHA-256) produces a fixed-size, irreversible digest: to check a value, you hash the candidate again and compare.

    Why does a step show an error?

    Each operation validates its input. From Base64 on text that is not Base64, Gunzip on uncompressed bytes or JSON Beautify on invalid JSON all fail. Forge shows the number of the failing step and displays the output of the previous step.

    Does Forge handle UTF-8 and binary data?

    Yes. Operations work on bytes (Uint8Array) and conversion between text and bytes uses UTF-8. Accented characters are preserved, and binary chains such as Gzip then To Base64 compose without corruption. When the output is not readable text, it is shown in hexadecimal.

    Why so few operations?

    Forge keeps a small set of operations built on browser standards or maintained libraries, so that we have no compression or hashing code of our own to maintain. For anything else, the Open in CyberChef button translates the recipe to CyberChef, the GCHQ tool, which offers several hundred operations.

    Does the recipe give the same result in CyberChef?

    Each step is translated to the equivalent CyberChef operation with its arguments. Two differences are known: CyberChef’s URL Encode also escapes the characters - _ . ~ ! * ' ( ), and its JWT Decode shows only the payload, without the header.

    What does the Detect button do?

    It inspects the input and suggests a likely recipe: bytes 1f 8b for Gzip, the H4sI prefix for Base64 gzip, three segments starting with ey for a JWT, %XX sequences for URL encoding, or a consistent Base64, Base64url or hexadecimal alphabet. Check the suggestion before relying on it.

    +More tools

    Technical assessment

    Request an application or infrastructure assessment

    For an assessment by our team, specify the systems involved, available access and requested tests in your enquiry.