Tools for CTF Players
Capture the Flag competitions reward speed. The faster you can decode an encoded string, crack a hash format, or identify an obfuscation layer, the more flags you capture. These Tools.Fun utilities cover the encoding, crypto, and analysis tasks that appear repeatedly across web, crypto, forensics, and reverse engineering CTF categories — all running client-side with no data sent to any server.
Base64 Encoder / Decoder
Base64 is the most common encoding in CTF challenges — found in web challenges (JWT tokens, cookie values, hidden form fields), forensics (encoded payloads in image metadata), and crypto challenges (encoded ciphertext). Decode instantly; look for a flag pattern (FLAG{...}) or another encoded layer underneath.
Hex Converter
Convert hexadecimal payloads to ASCII text and back. Hex encoding is ubiquitous in CTFs: shellcode, binary file headers, network packet captures, and crypto ciphertext all commonly appear as hex strings. Convert and inspect in seconds.
URL Encoder / Decoder
Decode percent-encoded payloads from web challenges — XSS vectors, SQL injection strings, path traversal sequences, and obfuscated JavaScript are frequently URL-encoded to evade filters. Decode to read the real payload.
Unicode Converter
Decode Unicode escape sequences (Hello), HTML entities, and full-width character substitutions. CTF web challenges frequently use Unicode obfuscation to hide flag strings or filter bypass payloads.
MD5 / SHA Hash Generator
Generate and identify hash values for crypto challenges. Verify MD5, SHA-1, SHA-256, and SHA-512 hashes, generate expected outputs for known inputs, and confirm whether a target hash matches a guessed plaintext. Essential for hash-cracking-adjacent CTF tasks where you need to verify candidate values.
AES Encryptor / Decryptor
Encrypt and decrypt AES-128/256 ciphertext for crypto challenges. Test ECB mode (common CTF target due to its block-level determinism), CBC mode decryption with known IV, and verify your key guesses against known-plaintext pairs.
RSA Encryptor / Decryptor
Encrypt and decrypt RSA payloads for crypto challenges. Test key operations, verify modular arithmetic results, and decrypt ciphertext when you've derived or been given the private key. Useful for challenges that hand you a public key and ask you to find weaknesses.
DES Encryptor / Decryptor
DES is a favourite CTF crypto challenge target precisely because it's broken. Use this to decrypt DES-encrypted ciphertext, test known-plaintext attacks, and demonstrate why 56-bit keys are trivially brute-forceable today.
RegExp Tester
Extract flag patterns from large output blobs using regex — search for FLAG\{.*?\}, CTF\{[A-Za-z0-9_]+\}, or custom flag formats with a single pattern. Also useful for analyzing input validation filters in web challenges to find bypass vectors.
[A-Z]{2,5}\{[^}]+\} to find flags hidden in large blobs of text.Timestamp Converter
Convert Unix timestamps found in JWT tokens, file metadata, log entries, and challenge artifacts to human-readable dates. Useful in forensics challenges where event ordering matters and in JWT challenges where token expiry needs to be analysed.
JSON Formatter
Format and inspect JSON payloads from web challenges — API responses, JWT payloads, GraphQL query results, and serialized session objects. Readable JSON reveals structure that's invisible in minified form.
Diff Tool
Compare two versions of a challenge file, binary dump, or output side by side to spot differences between encrypted and plaintext versions, between two crypto oracle responses, or between two firmware versions in reverse engineering challenges.
Character Counter
Count characters in encoded strings to determine encoding type — Base64 strings are always multiples of 4 characters (with padding), hex strings are always even-length, and block cipher ciphertext length reveals block size and mode.
Password Generator
Generate high-entropy wordlist candidates for offline hash cracking challenges, or create test plaintexts with specific character sets for analysing cipher behaviour under known-plaintext conditions.
← Back