Command-line pastebin

Share terminal output with one command

Pipe anything into curl and get back an expiring link. No account, no API key, nothing to install.

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.

OptionValuesDefault
expiry30m, 1h, 6h, 24h, 7d24h
langplaintext, generic, json, yaml, toml, env, nginx, apache, docker, docker-compose, kubernetes, kubernetes-yaml, shell, python, javascript, java, sql, postgresqldetected in the viewer
typelog, textlog

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

StatusMeaning
201Created. The body is the link; the X-Expires-At header has the expiry time.
400Empty body, or an unknown expiry, lang or type.
403The request came from a web page. Use the Log Share composer in a browser.
413More than 5 MB. Trim to the window around the problem.
415Binary or non-UTF-8 content. LogShare takes text.
429More 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.