Read a regex, a diff, a status code, a user agent or a URL and find what is wrong
Everything here runs in your browser. Files are never uploaded.Half of debugging is looking carefully at something you have already read five times. These tools do the looking: they highlight what a regular expression really matches, show which lines of two files differ, explain what a status code means and who is meant to fix it, and break a URL or a user-agent string into parts you can read. Nothing you paste is sent anywhere.
Regex Tester highlights matches live as you type and explains the pattern back in plain English, which is the fastest way to find out that your grouping is off by one bracket. Test it against the strings that broke it, not against the string you designed it for.
Diff Checker compares two texts line by line. JSON Diff is the one to use when both sides are JSON, because it compares the structure instead of the text: a reordered object is not a change, and a line-based diff would tell you the whole file moved.
HTTP Status Codes lists every code with what it means, when to send it and the RFC it comes from. Two distinctions save the most time: 401 means not authenticated and 403 means authenticated but not allowed, and 502 means the server in front could not reach the one behind while 504 means it reached it and waited too long.
User-Agent Parser turns a user-agent header into browser, engine, operating system, device type and whether it is a bot, which is what you need when a log shows traffic you did not expect. URL Parser splits a link into scheme, host, path, query and fragment, lets you edit the parameters and rebuilds it, so a callback URL with nine encoded parameters becomes readable. MIME Types maps extensions to types and back, with the magic bytes and the header to send, for the download that arrives as a text file.
The common thread is that all five answer the same kind of question: not "what should this be" but "what is this, exactly". Establish that first. Most of the time spent on a bug goes on a belief about what a value contains that turned out to be wrong.
No. All of these parse and compare in your browser, which matters because the things you debug are logs, tokens and payloads with real data in them.
Whenever both sides are JSON. A text diff reports reordered keys and reformatted whitespace as changes; JSON Diff compares the parsed structure and lists only the values that were added, removed or altered.
401 means the request was not authenticated, so sending credentials may work. 403 means it was authenticated and still not allowed, so the same credentials will never work and the fix is a permission, not a login.
JavaScript, as implemented by your browser. Most patterns transfer to other languages, but lookbehind, named groups and Unicode property escapes differ enough between engines to be worth checking where you will run it.
Not as identification. It is sent by the client and can say anything, and most of it is decades of compatibility fiction. Read it as a hint when investigating traffic, never as a security control.
Because of the Content-Type header, not the extension. Look the extension up in MIME Types, send that type, and add a Content-Disposition header if the browser should save rather than display it.