Guides
Practical fixes for everyday web problems. Each guide starts with what you can do for free, with no install.
Free tools
- What is my user agent? — your browser's user agent, explained, plus common strings to copy
- CORS tester — run a real request and see exactly what CORS does with it
- Colour contrast checker — WCAG AA and AAA, with the nearest colour that passes
- Accessible color palette generator — tints and shades of your brand color, with the contrast of each
- Color blindness simulator — see a screenshot or chart as people with each type of color blindness do
- JWT decoder and generator — read a token's claims and expiry, or sign a test token, without sending anything
- UUID generator — v4 or time-ordered v7, one or a thousand, and inspect any UUID
- HAR file viewer — read a .har file and strip the cookies and tokens out before you send it
- Image redactor — black out private parts of a picture, with the pixels really replaced
- PDF redactor — black out text in a PDF so it's really removed, not just covered
Developers
- net::ERR_BLOCKED_BY_CLIENT, _RESPONSE and _ORB: which one you have
- TypeError: Failed to fetch — telling the five causes apart
- CORS error: what it means and how to fix it, including localhost
- Access-Control-Allow-Origin: values, multiple origins and server examples
- "Has been blocked by CORS policy": every variant of the message and its fix
- What is CORS? Cross-Origin Resource Sharing in plain words
- Preflight (OPTIONS) requests: when they happen and why they fail
- "Refused to load … violates the Content Security Policy directive": each error and its fix
- Mixed content: "loaded over HTTPS, but requested an insecure resource"
- iframe "refused to connect": what causes it and how to fix it
- What is a HAR file, how to open one, and what it exposes
- Hard refresh in Chrome, and how to really bypass the cache
- The Cache-Control header: max-age, no-cache, no-store and what to send
- JWT errors: jwt malformed, invalid signature, jwt expired and more
- 401 vs 403: which status code means what
- How to change your user agent in Chrome
- How to add a custom HTTP header to requests in Chrome
- HTTP headers list: the request and response headers that matter
- The Referer header: what it sends, why it's empty, and how to set it
- How to disable CORS in Chrome, and the safer way to test
- How to disable CORS in Firefox (and the about:config trap)
- Moving from ModHeader after its removal
- Requestly alternatives for changing headers in your own browser
Accessibility
Screenshots and PDFs