{"name":"Chris Vanek — Free Browser Tools","description":"Free utility tools. Some run server-side and expose a documented HTTP API you can call directly; the rest run entirely in the visitor's browser and must be driven through the UI.","homepage":"https://chrisvanek.com/tools","docs":"https://chrisvanek.com/llms.txt","automation":{"note":"For client-side tools, drive the page with a headless browser or the Claude-in-Chrome extension. Every /tools/* page exposes these stable data-testid hooks so you don't need to scrape the DOM.","testids":{"dropzone":"tool-dropzone","fileInput":"tool-file-input","submit":"tool-submit","password":"tool-password","download":"tool-download","reset":"tool-reset","result":"tool-result","error":"tool-error"},"flow":["Open the tool's \"url\".","Set the file on the element with [data-testid=\"tool-file-input\"].","Fill any inputs listed in the tool's \"uiInputs\" (e.g. a password) by their data-testid.","Click [data-testid=\"tool-submit\"].","Wait for [data-testid=\"tool-result\"] (or [data-testid=\"tool-error\"]).","Click [data-testid=\"tool-download\"] to save the output."]},"tools":[{"slug":"transparent-background","title":"Transparent Background","description":"Remove the background from any image and download a transparent PNG. AI-powered, keeps full original resolution.","url":"https://chrisvanek.com/tools/transparent-background","processing":"server","uiInputs":[],"api":{"endpoint":"/api/tools/remove-background","method":"POST","accepts":["image/png","image/jpeg","image/webp","multipart/form-data"],"fileField":"file","maxBytes":26214400,"output":"image/png","summary":"POST an image either as the raw request body (with its image/* Content-Type) or as multipart/form-data with the file in field 'file'. Returns a transparent PNG (image/png) at the original resolution.","url":"https://chrisvanek.com/api/tools/remove-background","maxBytesHuman":"25 MB"}},{"slug":"image-compressor","title":"Image Compressor","description":"Compress PNG & JPG images with lossless or adjustable quality. No upload — runs entirely in your browser.","url":"https://chrisvanek.com/tools/image-compressor","processing":"client","uiInputs":[],"api":null},{"slug":"image-resizer","title":"Image Resizer","description":"Resize up to 20 images to any width & height at once, then download them all in one click. No upload — runs entirely in your browser.","url":"https://chrisvanek.com/tools/image-resizer","processing":"client","uiInputs":[],"api":null},{"slug":"unlock-pdf","title":"Unlock PDF","description":"Remove password protection from a PDF. Enter the password once, download it unlocked. No upload — runs in your browser.","url":"https://chrisvanek.com/tools/unlock-pdf","processing":"client","uiInputs":[{"testid":"tool-password","label":"PDF password","type":"password","required":true}],"api":null},{"slug":"compress-pdf","title":"Compress PDF","description":"Reduce PDF file size by optimizing its internal structure. Lossless — no quality loss. No upload — runs in your browser.","url":"https://chrisvanek.com/tools/compress-pdf","processing":"client","uiInputs":[],"api":null}]}