kubectl logs deploy/api -n prod --tail=300 | curl --data-binary @- https://logshare.in https://logshare.in/AbCdEf12345
The reply is the link on a single line, so it drops straight into scripts, chat or a ticket. Whoever opens it gets line numbers, ERROR and WARN highlighting and search. The content is deleted when the link expires: after 24 hours unless you choose otherwise.
Recipes
# A file curl -T app.log https://logshare.in # kubectl: the container that just crashed kubectl logs api-7d9f -n prod --previous | curl --data-binary @- https://logshare.in # docker: include stderr, last 15 minutes docker logs web-1 --since 15m 2>&1 | curl --data-binary @- https://logshare.in # systemd journalctl -u nginx --since "1 hour ago" --no-pager | curl --data-binary @- https://logshare.in # The last 300 lines around a problem tail -n 300 /var/log/nginx/error.log | curl --data-binary @- https://logshare.in # Plain text back from a link curl https://logshare.in/raw/AbCdEf12345
Options
Add them to the address as a query string, for example https://logshare.in/?expiry=1h&lang=nginx.
| Option | Values | Default |
|---|---|---|
expiry | 30m, 1h, 6h, 24h, 7d | 24h |
lang | plaintext, generic, json, yaml, toml, env, nginx, apache, docker, docker-compose, kubernetes, kubernetes-yaml, shell, python, javascript, java, sql, postgresql | detected in the viewer |
type | log, text | log |
Make it a shell command
Add this to ~/.bashrc or ~/.zshrc, then pipe into logshare with an optional expiry:
logshare() { curl -sS --data-binary @- "https://logshare.in/?expiry=${1:-24h}"; }
kubectl logs deploy/api --tail=200 | logshare 1h
make test 2>&1 | logshare | pbcopy # link straight to the clipboard on macOS
Windows, wget and CI
# PowerShell Get-Content .\app.log -Raw | Invoke-RestMethod -Method Post -Uri https://logshare.in # curl.exe ships with Windows 10 and later curl.exe --data-binary "@app.log" https://logshare.in # wget wget -qO- --post-file=app.log https://logshare.in # GitHub Actions: share the log of a failed step - name: Share test log if: failure() run: curl -sS --data-binary @test.log "https://logshare.in/?expiry=7d"
Strip secrets first
Logs leak bearer tokens, database URLs and session cookies. Anyone with the link can read the share, so redact before you upload:
sed -E 's/(token|password|secret|authorization)([=:] *)[^ &"]+/\1\2[redacted]/Ig' app.log \ | curl --data-binary @- "https://logshare.in/?expiry=1h"
For content that must not be readable with the link alone, use a Private Room: it opens only with a PIN.
Responses
| Status | Meaning |
|---|---|
| 201 | Created. The body is the link; the X-Expires-At header has the expiry time. |
| 400 | Empty body, or an unknown expiry, lang or type. |
| 403 | The request came from a web page. Use the Log Share composer in a browser. |
| 413 | More than 5 MB. Trim to the window around the problem. |
| 415 | Binary or non-UTF-8 content. LogShare takes text. |
| 429 | More than 20 uploads in an hour from your network. |
Coming from termbin, ix.io or sprunge
ix.io and sprunge.us no longer respond (both returned 404 when we checked in October 2026), so scripts and tutorials that pipe into them now fail. Replace the upload line with curl --data-binary @- https://logshare.in. termbin still works over a raw nc connection on port 9999; LogShare uses HTTPS instead, so the content is encrypted in transit, and it adds an expiry you choose and a log-aware viewer.
Frequently asked questions
Do I need an API key or an account?
No. The upload is a plain HTTP POST with the text as the body. There is nothing to sign up for and no token to keep.
How long does an uploaded log stay online?
24 hours unless you add ?expiry=30m, 1h, 6h or 7d to the address. When it expires the content is deleted and the link returns 410 Gone.
Can I get the plain text back from the command line?
Yes. Put /raw/ in front of the token: curl https://logshare.in/raw/AbCdEf12345 prints the share exactly as it was uploaded.
Is there a size limit or a rate limit?
Up to 5 MB of text per upload and 20 uploads per hour from one network. Binary files are refused; LogShare is for text.
Can I delete an upload before it expires?
Not yet. Pick the shortest expiry that works (30 minutes is the minimum) and strip secrets before you upload.
Does it work with nc like termbin?
No. LogShare takes uploads over HTTPS only, so the content is encrypted in transit. curl, wget and PowerShell all work, and curl ships with Windows 10 and later, macOS and almost every Linux image.