# Tools That Don't Upload — Full API Documentation > 71 free API endpoints + 126 browser tools. No auth, CORS enabled, zero storage. API Base: https://toolsthatdontupload.com/api/ Audio/Video: https://audio-video-api.milkydotstudio.workers.dev/api/ --- ## PDF Tools (7) ### POST /api/pdf-merge Merge multiple PDFs into one file. `curl -F "files=@a.pdf" -F "files=@b.pdf" https://toolsthatdontupload.com/api/pdf-merge -o merged.pdf` ### POST /api/pdf-split Split PDF by page ranges. Returns ZIP with split files. `curl -F "file=@doc.pdf" -F "ranges=1-3,5,7-10" https://toolsthatdontupload.com/api/pdf-split -o split.zip` ### POST /api/pdf-rotate Rotate PDF pages by angle. `curl -F "file=@doc.pdf" -F "angle=90" -F "pages=1,3" https://toolsthatdontupload.com/api/pdf-rotate -o rotated.pdf` ### POST /api/pdf-watermark Add text watermark to PDF. `curl -F "file=@doc.pdf" -F "text=DRAFT" -F "opacity=0.3" -F "fontSize=48" https://toolsthatdontupload.com/api/pdf-watermark -o watermarked.pdf` ### POST /api/pdf-metadata Read or set PDF metadata. Read: `curl -F "file=@doc.pdf" https://toolsthatdontupload.com/api/pdf-metadata` Set: `curl -F "file=@doc.pdf" -F "title=My Doc" -F "author=Me" https://toolsthatdontupload.com/api/pdf-metadata -o updated.pdf` ### POST /api/pdf-extract Extract specific pages from PDF. `curl -F "file=@doc.pdf" -F "pages=1,3,5" https://toolsthatdontupload.com/api/pdf-extract -o extracted.pdf` ### POST /api/pdf-compress Compress PDF file size (qpdf structural optimization). `curl -F "file=@large.pdf" https://toolsthatdontupload.com/api/pdf-compress -o compressed.pdf` ## Image Tools (3) ### POST /api/image-resize Resize image to specified dimensions. Returns WebP. `curl -F "file=@photo.jpg" -F "width=800" -F "height=600" https://toolsthatdontupload.com/api/image-resize -o resized.webp` ### POST /api/image-convert Convert image format. Supports webp, jpeg, png. `curl -F "file=@photo.png" -F "format=webp" -F "quality=80" https://toolsthatdontupload.com/api/image-convert -o converted.webp` ### POST /api/image-compress Compress image to WebP format with optimal quality. `curl -F "file=@photo.jpg" https://toolsthatdontupload.com/api/image-compress -o compressed.webp` ## Audio Tools (3) — audio-video-api.milkydotstudio.workers.dev ### POST /api/audio-convert?format=mp3 Convert audio format. Supports mp3, wav, ogg, m4a, flac, aac. `curl -F "file=@song.wav" "https://audio-video-api.milkydotstudio.workers.dev/api/audio-convert?format=mp3" -o song.mp3` ### POST /api/audio-trim?start=00:00:05&end=00:00:30 Trim audio file by start/end timestamps. `curl -F "file=@song.mp3" "https://audio-video-api.milkydotstudio.workers.dev/api/audio-trim?start=00:00:10&end=00:01:00" -o trimmed.mp3` ### POST /api/audio-merge Merge 2+ audio files sequentially. `curl -F "files=@part1.mp3" -F "files=@part2.mp3" https://audio-video-api.milkydotstudio.workers.dev/api/audio-merge -o merged.mp3` ## Video Tools (4) — audio-video-api.milkydotstudio.workers.dev ### POST /api/video-compress?crf=28 Compress video using H.264 codec. CRF 18 (high quality) to 51 (smallest). `curl -F "file=@video.mp4" "https://audio-video-api.milkydotstudio.workers.dev/api/video-compress?crf=28" -o compressed.mp4` ### POST /api/video-convert?format=webm Convert video format. Supports mp4, webm, avi, mkv, mov. `curl -F "file=@video.avi" "https://audio-video-api.milkydotstudio.workers.dev/api/video-convert?format=mp4" -o converted.mp4` ### POST /api/video-trim?start=00:00:05&end=00:00:30 Trim video by timestamps. `curl -F "file=@video.mp4" "https://audio-video-api.milkydotstudio.workers.dev/api/video-trim?start=00:00:00&end=00:00:15" -o trimmed.mp4` ### POST /api/video-to-audio?format=mp3 Extract audio track from video file. `curl -F "file=@video.mp4" "https://audio-video-api.milkydotstudio.workers.dev/api/video-to-audio?format=mp3" -o audio.mp3` ## Code Tools (5) ### POST /api/code-format Format code with proper indentation. Supports JSON, HTML, CSS, JS, SQL. `curl -X POST -H "Content-Type: application/json" -d '{"code":"{\"a\":1}","language":"json"}' https://toolsthatdontupload.com/api/code-format` Response: `{"formatted":"{ \n \"a\": 1\n}","language":"json"}` ### POST /api/code-minify Strip comments and whitespace from code. `curl -X POST -H "Content-Type: application/json" -d '{"code":"function hello() { \n return 1; \n}"}' https://toolsthatdontupload.com/api/code-minify` ### POST /api/regex-test Test regex pattern against text. Returns all matches with indices. `curl -X POST -H "Content-Type: application/json" -d '{"pattern":"\\d+","text":"abc123def456","flags":"g"}' https://toolsthatdontupload.com/api/regex-test` ### POST /api/sql-format Format SQL with keyword line-breaks. `curl -X POST -H "Content-Type: application/json" -d '{"sql":"SELECT * FROM users WHERE id=1 ORDER BY name"}' https://toolsthatdontupload.com/api/sql-format` ### POST /api/code-diff Compute diff between two texts (same as /api/diff). `curl -X POST -H "Content-Type: application/json" -d '{"text1":"hello world","text2":"hello earth"}' https://toolsthatdontupload.com/api/code-diff` ## Converter Tools (5) ### POST /api/unit-convert Convert between units. Supports: kg/lb/oz/g/ton, km/m/cm/mm/mi/ft/in/yd, C/F/K, L/ml/gal/qt/pt/cup/floz. `curl -X POST -H "Content-Type: application/json" -d '{"value":100,"from":"kg","to":"lb"}' https://toolsthatdontupload.com/api/unit-convert` Response: `{"value":100,"from":"kg","to":"lb","result":220.462}` ### POST /api/color-convert Convert color between HEX, RGB, HSL formats. `curl -X POST -H "Content-Type: application/json" -d '{"color":"#ff5733"}' https://toolsthatdontupload.com/api/color-convert` Response: `{"hex":"#ff5733","rgb":{"r":255,"g":87,"b":51},"hsl":{"h":11,"s":100,"l":60}}` ### POST /api/timezone Convert current time between timezones. `curl -X POST -H "Content-Type: application/json" -d '{"from":"UTC","to":"Asia/Seoul"}' https://toolsthatdontupload.com/api/timezone` ### POST /api/number-base Convert number between bases (binary, octal, decimal, hex, base36). `curl -X POST -H "Content-Type: application/json" -d '{"value":"255","from":10}' https://toolsthatdontupload.com/api/number-base` ### POST /api/currency Convert currency with approximate rates. 20 currencies supported. `curl -X POST -H "Content-Type: application/json" -d '{"amount":100,"from":"USD","to":"KRW"}' https://toolsthatdontupload.com/api/currency` Note: Rates are approximate, not real-time. ## Text Tools (4) ### GET /api/lorem?paragraphs=3 Generate Lorem Ipsum placeholder text. Also accepts `?words=50`. `curl "https://toolsthatdontupload.com/api/lorem?paragraphs=2"` ### POST /api/slugify Generate URL-friendly slug from text. `curl -X POST -H "Content-Type: application/json" -d '{"text":"Hello World!"}' https://toolsthatdontupload.com/api/slugify` Response: `{"slug":"hello-world"}` ### POST /api/case-convert Convert text to 10 different cases: upper, lower, title, camel, snake, kebab, pascal, dot, reversed. `curl -X POST -H "Content-Type: application/json" -d '{"text":"hello world"}' https://toolsthatdontupload.com/api/case-convert` ### POST /api/html-escape Escape or unescape HTML entities. `curl -X POST -H "Content-Type: application/json" -d '{"text":"","mode":"escape"}' https://toolsthatdontupload.com/api/html-escape` ## Security Tools (5) ### GET /api/password-gen?length=20&count=5 Generate cryptographically strong passwords. `curl "https://toolsthatdontupload.com/api/password-gen?length=20&count=3"` ### POST /api/jwt-decode Decode JWT token (without verification). Returns header, payload, expiry. `curl -X POST -H "Content-Type: application/json" -d '{"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U"}' https://toolsthatdontupload.com/api/jwt-decode` ### POST /api/hmac Generate HMAC signature. Supports SHA-256, SHA-384, SHA-512. `curl -X POST -H "Content-Type: application/json" -d '{"message":"hello","secret":"key","algorithm":"SHA-256"}' https://toolsthatdontupload.com/api/hmac` ### POST /api/aes-encrypt AES-GCM encrypt text with password. `curl -X POST -H "Content-Type: application/json" -d '{"text":"secret message","password":"mykey"}' https://toolsthatdontupload.com/api/aes-encrypt` ### POST /api/aes-decrypt AES-GCM decrypt. Requires encrypted data, password, IV, and salt from encrypt response. `curl -X POST -H "Content-Type: application/json" -d '{"encrypted":"...","password":"mykey","iv":"...","salt":"..."}' https://toolsthatdontupload.com/api/aes-decrypt` ## Web Tools (5) ### POST /api/html-to-md Convert HTML to Markdown. Handles h1-h3, strong, em, a, li, p, br. `curl -X POST -H "Content-Type: application/json" -d '{"html":"
World
"}' https://toolsthatdontupload.com/api/html-to-md` ### POST /api/robots-gen Generate robots.txt file. Auto-includes GPTBot/ClaudeBot/PerplexityBot Allow rules. `curl -X POST -H "Content-Type: application/json" -d '{"domain":"example.com","disallow":["/admin"]}' https://toolsthatdontupload.com/api/robots-gen` ### POST /api/sitemap-gen Generate sitemap.xml file. `curl -X POST -H "Content-Type: application/json" -d '{"domain":"example.com","urls":["/","/about","/contact"]}' https://toolsthatdontupload.com/api/sitemap-gen` ### POST /api/meta-gen Generate HTML meta + Open Graph + Twitter Card tags. `curl -X POST -H "Content-Type: application/json" -d '{"title":"My Page","description":"About my page","url":"https://example.com","image":"https://example.com/og.png"}' https://toolsthatdontupload.com/api/meta-gen` ### POST /api/whois WHOIS lookup via RDAP protocol. `curl -X POST -H "Content-Type: application/json" -d '{"domain":"google.com"}' https://toolsthatdontupload.com/api/whois` ## Data Tools (6) ### POST /api/xml-to-json Convert XML string to JSON object. `curl -X POST -H "Content-Type: application/json" -d '{"xml":"Hello World
"}' https://toolsthatdontupload.com/api/html-to-text` ### POST /api/md-table Generate Markdown table from headers and rows. `curl -X POST -H "Content-Type: application/json" -d '{"headers":["Name","Age"],"rows":[["Alice","30"],["Bob","25"]]}' https://toolsthatdontupload.com/api/md-table` ## Analysis Tools (4) ### POST /api/date-calc Calculate date difference or add/subtract days. `curl -X POST -H "Content-Type: application/json" -d '{"date1":"2026-01-01","date2":"2026-12-31"}' https://toolsthatdontupload.com/api/date-calc` ### POST /api/cron-parse Parse cron expression into human-readable description. `curl -X POST -H "Content-Type: application/json" -d '{"cron":"0 9 * * 1-5"}' https://toolsthatdontupload.com/api/cron-parse` ### POST /api/reading-time Estimate reading time for text content. `curl -X POST -H "Content-Type: application/json" -d '{"text":"Lorem ipsum dolor sit amet..."}' https://toolsthatdontupload.com/api/reading-time` ### POST /api/email-validate Validate email format and check MX record existence. `curl -X POST -H "Content-Type: application/json" -d '{"email":"user@example.com"}' https://toolsthatdontupload.com/api/email-validate` ## AI Tools (4) — Workers AI (10K neurons/day free) ### POST /api/ai-translate Translate text to target language. `curl -X POST -H "Content-Type: application/json" -d '{"text":"Hello, how are you?","target":"ko"}' https://toolsthatdontupload.com/api/ai-translate` ### POST /api/ai-summarize Summarize long text into key points. `curl -X POST -H "Content-Type: application/json" -d '{"text":"Long article text here..."}' https://toolsthatdontupload.com/api/ai-summarize` ### POST /api/ai-ocr Extract text from image using AI vision. `curl -F "file=@screenshot.png" https://toolsthatdontupload.com/api/ai-ocr` ### POST /api/ai-image Generate image from text prompt. `curl -X POST -H "Content-Type: application/json" -d '{"prompt":"a cute cat wearing sunglasses"}' https://toolsthatdontupload.com/api/ai-image -o generated.png` ## System Tools (4) ### GET /api/health Hub health check. Returns status and tool list. `curl https://toolsthatdontupload.com/api/health` ### POST /api/echo Echo back request body and headers (useful for debugging). `curl -X POST -d "test" https://toolsthatdontupload.com/api/echo` ### GET /api/placeholder?w=400&h=300&bg=333&color=fff&text=Hello Generate placeholder image as SVG. Customizable size, colors, text. ### GET /api/ip-info Get client IP address and basic info. `curl https://toolsthatdontupload.com/api/ip-info` --- ## Browser Tools (126 total) Visit each site directly. All tools run 100% in the browser. - https://dagotools.com — 48 file/PC tools - https://getdesigntools.com — 28 design tools - https://freesoundtools.com — 31 audio tools - https://seosikchukchuk.com — 19 document/form tools