OmniFeed Search

PrivateBin

Browser-encrypted pastes with expiration and burn-after-reading

Visit privatebin.info

Our verdict

#3 of 3 in Self-hosted paste and snippet sharing · For confidential, temporary pastes

Pros

  • Browser-side encryption is the core paste model
  • Attachments and discussion contents receive the same protection
  • Passwords, timed expiry and burn-after-reading
  • Optional image, media and PDF previews

Cons

  • Anyone with the full link can read an unpassworded paste
  • Access logs can still reveal access activity
  • Cloning creates another paste rather than keeping revision history

Skip if: Developers who need durable snippet libraries, named accounts or straightforward plaintext API integrations.

Read the full review →

Rankings and alternatives

Self-hosted paste and snippet sharing scores

Evaluated Nov 10, 2026 Evidence ↓
  • Revision history · counts double 1

    1/5 means: Editing replaces the current content or cloning creates a new paste; there is no browsable revision history.

    Cloning copies a paste into a new one; the sharing model has no browsable succession of edits or diffs.

  • Snippet organization and editing 1

    1/5 means: Focused on individual pastes, with no useful persistent collection or organization.

    Individual pastes, optional discussions and cloning support exchange, not an organized, searchable, multi-file snippet collection.

  • Code and document presentation 3

    3/5 means: Syntax highlighting and Markdown with a preview, but no embed widget.

    Syntax highlighting and Markdown with a preview cover ordinary code and documents, without the embed widget and richer rendering of the highest level.

  • Content confidentiality 5

    5/5 means: Browser-side encryption is the core paste model, and can also protect attachments and discussion contents.

    Encryption and decryption happen in the browser; the decryption key stays in the URL fragment, and files, file names and discussion contents are covered.

  • Expiration and read limits 5

    5/5 means: Timed expiry, configurable read limits or burn-after-reading, passwords, and the option to keep durable pastes.

    Optional passwords, timed expiry, burn-after-reading and a forever option cover both temporary and durable sharing.

  • Access control 1

    1/5 means: Link visibility and optional paste passwords only; no meaningful instance access controls.

    Access rests on possession of a link and an optional password, not individual accounts or a login-controlled private instance.

  • API and command-line workflows 2

    2/5 means: An HTTP API exists, but clients must implement encryption or other application-specific processing themselves.

    The JSON API can create, retrieve and delete pastes, but a client must reproduce the client-side encryption rather than send ordinary plaintext to a general management API.

  • Text, files and links · counts half 2

    2/5 means: An optional file attachment and basic image, media or document preview.

    Optional file uploads include image, media and PDF previews, but the paste model lacks multi-file snippets and built-in URL shortening.

  • Setup and upkeep · counts half 4

    4/5 means: One container or executable with embedded storage, but a host runtime or extra service integration needs attention.

    Prebuilt containers include Nginx and PHP and can use file storage, while a non-container install requires PHP, zlib and a writable data directory.

Evidence and sources

Self-hosted paste and snippet sharing scores

Revision history 1 quote
  • “Setting the clone option to false will hide the clone button in expiring pastes. Note that this only hides the button, simply copying the paste into a new one is still possible.”
    github.com/PrivateBin/PrivateBin/wiki/Configuration · checked
Snippet organization and editing 3 quotes
  • “Discussions, anonymous or with nicknames and IP based identicons or vizhashes Expiration times, including a "forever" and "burn after reading" option”
    privatebin.info · checked
  • “Markdown format support for HTML formatted pastes, including preview function Syntax highlighting for source code using prettify.js, including 4 prettify themes File upload support, image, media and PDF preview (disabled by default, size limit adjustable)”
    privatebin.info · checked
  • “Setting the clone option to false will hide the clone button in expiring pastes. Note that this only hides the button, simply copying the paste into a new one is still possible.”
    github.com/PrivateBin/PrivateBin/wiki/Configuration · checked
Code and document presentation 1 quote
  • “Markdown format support for HTML formatted pastes, including preview function Syntax highlighting for source code using prettify.js, including 4 prettify themes File upload support, image, media and PDF preview (disabled by default, size limit adjustable)”
    privatebin.info · checked
Content confidentiality 3 quotes
  • “PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of stored data. Data is encrypted and decrypted in the browser using 256bit AES in Galois Counter mode.”
    privatebin.info · checked
  • “A server admin can be forced to hand over access logs to the authorities. PrivateBin encrypts your text and the discussion contents, but who accessed a paste (first) might still be disclosed via access logs.”
    privatebin.info · checked
  • “What is not stored or transmitted at all: generated decryption key of the paste, it is part of the URL after the hash password, if given”
    github.com/PrivateBin/PrivateBin/wiki/FAQ · checked
Expiration and read limits 2 quotes
  • “Possibility to set a password which is required to read the paste. It further protects a paste and prevents people stumbling upon your paste's link from being able to read it without the password.”
    privatebin.info · checked
  • “Discussions, anonymous or with nicknames and IP based identicons or vizhashes Expiration times, including a "forever" and "burn after reading" option”
    privatebin.info · checked
Access control 2 quotes
  • “Possibility to set a password which is required to read the paste. It further protects a paste and prevents people stumbling upon your paste's link from being able to read it without the password.”
    privatebin.info · checked
  • “The “key” used to encrypt the paste is part of the URL (in the fragment part separated by the”
    privatebin.info · checked
API and command-line workflows 2 quotes
  • “All JSON-API requests need to be sent with the HTTP header X-Requested-With: JSONHttpRequest. The query strings below would be appended after the ? in the URL, i.e. query string foo on the site URL of https://example.com/privatebin/ would become https://example.com/privatebin/?foo. The full PUT and POST data now is expected to be sent as a JSON-LD string instead of URL-encoded form data. Please see the encryption format page for details on the JSON-LD string format. Action Type Query String Data to send Result retrieve paste (and its comments) GET [pasteID] (no data) paste.jsonld create paste PUT/POST (empty query string) paste.jsonld, without the [pasteID] {"status": 0, "id": "[pasteID]", "url": "[serverAddress?pasteID]", "deletetoken": "[deleteToken]"} create comment PUT/POST (empty query string) comment.jsonld, without the [commentID] {"status": 0, "id": "[commentID]", "url": "[serverAddress?commentID]"} delete paste DELETE/POST (empty query string) {"pasteid": "[pasteID]", "deletetoken": "[deletetoken]"} {"status":0, "id": "[pasteID]"}”
    github.com/PrivateBin/PrivateBin/wiki/API · checked
  • “You cannot do it that directly, because the whole purpose of PrivateBin is to encrypt the data on the client side before sending it, such as in your browser using JavaScript. You can, however, replicate this encryption process locally and only upload or download this ciphertext. For more information on how to do this, have a look at our API docs. There are several community implementations of command line clients that use this method, letting you create and upload documents from the command line.”
    github.com/PrivateBin/PrivateBin/wiki/FAQ · checked
Text, files and links 1 quote
  • “Markdown format support for HTML formatted pastes, including preview function Syntax highlighting for source code using prettify.js, including 4 prettify themes File upload support, image, media and PDF preview (disabled by default, size limit adjustable)”
    privatebin.info · checked
Setup and upkeep 2 quotes
  • “- PHP version 7.4 or above - PHP with zlib extension - some disk space and the capability to create files and folders in the installation directory and the PATH defined in index.php - A web browser with JavaScript support enabled”
    raw.githubusercontent.com/PrivateBin/PrivateBin/master/doc/Installation.md · checked
  • “- [Container images](https://github.com/PrivateBin/docker-nginx-fpm-alpine#image-variants): Pre-installed PrivateBin on Nginx and php-fpm or [FreeUnit](https://github.com/PrivateBin/docker-unit-alpine/#image-variants), both Alpine-based, available on Docker Hub (privatebin/…) and GitHub (ghcr.io/privatebin/…), with variants for file based, database, Google Cloud and S3 storage.”
    raw.githubusercontent.com/PrivateBin/PrivateBin/master/doc/Installation.md · checked

Facts

License 1 quote
Runs on 1 quote
  • “- [Container images](https://github.com/PrivateBin/docker-nginx-fpm-alpine#image-variants): Pre-installed PrivateBin on Nginx and php-fpm or [FreeUnit](https://github.com/PrivateBin/docker-unit-alpine/#image-variants), both Alpine-based, available on Docker Hub (privatebin/…) and GitHub (ghcr.io/privatebin/…), with variants for file based, database, Google Cloud and S3 storage.”
    raw.githubusercontent.com/PrivateBin/PrivateBin/master/doc/Installation.md · checked
Needs 1 quote

Notability

Users 1 quote

Other quotes

Not cited by a score or fact 1 quote
  • “However, the server could be abused or the server admin could be legally forced into sending malicious code to their users, which logs the decryption key and sends it to a server when a user accesses a paste.”
    privatebin.info · checked