MicroBin
Lightweight text, file and link sharing in one executable
Our verdict
#2 of 3 in Self-hosted paste and snippet sharing · For lightweight text, files and short links
Pros
- One self-contained executable with SQLite or JSON storage
- Text, multiple attachments, raw downloads and URL shortening
- Expiration, configurable read limits and optional browser encryption
- Straightforward HTTP uploads for shell scripts
Cons
- Secret-mode browser encryption is optional and must be selected per upload; some configurations leave it disabled
- Public and unlisted uploads can be changed by anyone who can read them
- No revision history or code-oriented snippet organization
Skip if: Teams that need named accounts, detailed permissions or a searchable history of code changes.
Rankings and alternatives
- #2 of 3 Self-hosted paste and snippet sharing For lightweight text, files and short links
- Opengist #1 Best for a durable code snippet library
- PrivateBin #3 For confidential, temporary pastes
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.
Public and unlisted uploads can be edited, while secret uploads can only be removed; neither mode supplies a browsable history or diffs.
- Snippet organization and editing 2
2/5 means: Editable uploads or multiple attachments, but little organization or discovery beyond a basic list.
Editable uploads and multiple attachments help a small collection, but the feature set lacks revision history, structured multi-file snippets and code-oriented organization.
- Code and document presentation 2
2/5 means: Syntax highlighting, without rendered Markdown or an embed widget.
Client-side automatic or server-side syntax highlighting is documented; Markdown rendering and an embed widget did not support a higher level.
- Content confidentiality 4
4/5 means: Browser-side encryption can protect text and attachments, but the administrator must enable it or the sender must choose it.
Secret uploads encrypt text and attachments before they leave the browser, but client-side encryption is off by default and the sender must select that mode.
- 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.
Uploads support timed expiry, a configurable number of reads, passwords and non-expiring storage.
- Access control 2
2/5 means: Unlisted links and per-item passwords, plus a simple site-wide login or upload restriction.
Per-upload privacy levels and passwords combine with HTTP basic authentication and a server-wide upload password, without individual user accounts or per-user permissions.
- API and command-line workflows 3
3/5 means: Straightforward HTTP creation and raw retrieval, without a full authenticated management API or Git access.
Straightforward multipart HTTP creation and raw content retrieval suit shell scripts, but there is no Git workflow or comparably complete authenticated management API.
- Text, files and links · counts half 5
5/5 means: Multiple attachments, image and video preview, raw file serving and built-in URL shortening.
Text, multiple attachments, raw serving and URL redirection are built in, with inline image and video files on the upload page.
- Setup and upkeep · counts half 5
5/5 means: One self-contained executable or container with embedded storage and an integrated administration interface.
A single self-contained executable or Docker container uses SQLite or JSON storage, with an integrated admin interface.
Evidence and sources
Self-hosted paste and snippet sharing scores
Revision history 2 quotes
-
“- Server-side and client-side E2E encryption - File uploads (e.g.
server.com/file/pig-dog-cat) - Raw text serving (e.g.server.com/raw/pig-dog-cat) - QR code support - URL shortening and redirection - Animal names instead of random numbers for upload identifiers (64 animals) - Multiple attachments - SQLite and JSON database support - Private and public, editable and uneditable, automatically and never expiring uploads - Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see [water.css](https://github.com/kognise/water.css)) - And much more!”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“If your upload is Public or Unlisted, anyone who can read your upload, can also modify it. Should you do not want to allow that, you may set it to Read-only, which will require you to set a password, and when editing or removing the upload, MicroBin will ask again for this password. tip Secrets cannot be modified, only removed.”
microbin.eu/docs/how-to-use/modifying-an-upload · checked
Snippet organization and editing 2 quotes
-
“- Server-side and client-side E2E encryption - File uploads (e.g.
server.com/file/pig-dog-cat) - Raw text serving (e.g.server.com/raw/pig-dog-cat) - QR code support - URL shortening and redirection - Animal names instead of random numbers for upload identifiers (64 animals) - Multiple attachments - SQLite and JSON database support - Private and public, editable and uneditable, automatically and never expiring uploads - Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see [water.css](https://github.com/kognise/water.css)) - And much more!”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“If your upload is Public or Unlisted, anyone who can read your upload, can also modify it. Should you do not want to allow that, you may set it to Read-only, which will require you to set a password, and when editing or removing the upload, MicroBin will ask again for this password. tip Secrets cannot be modified, only removed.”
microbin.eu/docs/how-to-use/modifying-an-upload · checked
Code and document presentation 2 quotes
-
“- Server-side and client-side E2E encryption - File uploads (e.g.
server.com/file/pig-dog-cat) - Raw text serving (e.g.server.com/raw/pig-dog-cat) - QR code support - URL shortening and redirection - Animal names instead of random numbers for upload identifiers (64 animals) - Multiple attachments - SQLite and JSON database support - Private and public, editable and uneditable, automatically and never expiring uploads - Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see [water.css](https://github.com/kognise/water.css)) - And much more!”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“Use the syntax highlighting dropdown to enable syntax highlighting for your upload, making it easier to read. You may choose to have the syntax highlighting done by your browser, which will also recognise the language automatically. You can select server-side highlighting, where you need to select the language yourself, but the code will get highlighting without javascript.”
microbin.eu/docs/how-to-use/creating-an-upload · checked
Content confidentiality 2 quotes
-
“With this privacy setting, the upload cannot be found unless someone knows its unique, random identifier. If someone knows this identifier, they cannot see, modify or remove it without entering the password of the upload. Your browser sends us an already encrypted version, so the unencrypted data and password never even leave your device. This option requires you to enter your password many times when accessing your data, but is extremely safe.”
microbin.eu/docs/how-to-use/creating-an-upload · checked -
“# Enables client-side encryption. This will add the secret # privacy level where the user's browser encrypts all data # with JavaScript before sending it over to MicroBin, which # encrypt the data once again on server side. # Default value: false export MICROBIN_ENCRYPTION_CLIENT_SIDE=true”
raw.githubusercontent.com/szabodanika/microbin/master/.env · checked
Expiration and read limits 3 quotes
-
“- Server-side and client-side E2E encryption - File uploads (e.g.
server.com/file/pig-dog-cat) - Raw text serving (e.g.server.com/raw/pig-dog-cat) - QR code support - URL shortening and redirection - Animal names instead of random numbers for upload identifiers (64 animals) - Multiple attachments - SQLite and JSON database support - Private and public, editable and uneditable, automatically and never expiring uploads - Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see [water.css](https://github.com/kognise/water.css)) - And much more!”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“Expiration Use the expiration dropdown to choose how long you want your upload to exist. When the selected time has expired, it will be removed from the server. Burn After Use the burn after dropdown to set a limit on how many times your data can be accessed before it will be removed from the server.”
microbin.eu/docs/how-to-use/creating-an-upload · checked -
“With this privacy setting, the upload cannot be found unless someone knows its unique, random identifier. If someone knows this identifier, they cannot see, modify or remove it without entering the password of the upload. Your browser sends us an already encrypted version, so the unencrypted data and password never even leave your device. This option requires you to enter your password many times when accessing your data, but is extremely safe.”
microbin.eu/docs/how-to-use/creating-an-upload · checked
Access control 3 quotes
-
“With this privacy setting, the upload cannot be found unless someone knows its unique, random identifier. If someone knows this identifier, they cannot see, modify or remove it without entering the password of the upload. Your browser sends us an already encrypted version, so the unencrypted data and password never even leave your device. This option requires you to enter your password many times when accessing your data, but is extremely safe.”
microbin.eu/docs/how-to-use/creating-an-upload · checked -
“With easy to share links and single-click QR codes, it takes seconds seconds to share any text or file from any device to any other device. No accounts or apps needed.”
microbin.eu · checked -
“# Restricts the entire server to read-only mode: no new pastas can be created # unless the user provides MICROBIN_UPLOADER_PASSWORD. This is a server-wide # lockdown, not related to per-pasta read-only privacy (see MICROBIN_ENABLE_READONLY). # Default value: false export MICROBIN_READONLY=false”
raw.githubusercontent.com/szabodanika/microbin/master/.env · checked
API and command-line workflows 2 quotes
-
“- Server-side and client-side E2E encryption - File uploads (e.g.
server.com/file/pig-dog-cat) - Raw text serving (e.g.server.com/raw/pig-dog-cat) - QR code support - URL shortening and redirection - Animal names instead of random numbers for upload identifiers (64 animals) - Multiple attachments - SQLite and JSON database support - Private and public, editable and uneditable, automatically and never expiring uploads - Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see [water.css](https://github.com/kognise/water.css)) - And much more!”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“upload_file() { curl -is -X POST https://<YOURL_MICROBIN_URL>/upload -F "file=@$1" | mbclean } upload_text() { curl -is -X POST https://<YOURL_MICROBIN_URL>/upload -F "content=$1" | mbclean }”
uxfion, GitHub user in a MicroBin issue · github.com/szabodanika/microbin/issues/243 · checked
Text, files and links 2 quotes
-
“- Server-side and client-side E2E encryption - File uploads (e.g.
server.com/file/pig-dog-cat) - Raw text serving (e.g.server.com/raw/pig-dog-cat) - QR code support - URL shortening and redirection - Animal names instead of random numbers for upload identifiers (64 animals) - Multiple attachments - SQLite and JSON database support - Private and public, editable and uneditable, automatically and never expiring uploads - Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see [water.css](https://github.com/kognise/water.css)) - And much more!”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“On the upload's page, you will see the text contents (e.g. your code snippet, note, etc.), download button to your file attachment, and if your attachment is an image or video file, then those files will be visible on this page.”
microbin.eu/docs/how-to-use/accessing-an-upload · checked
Setup and upkeep 4 quotes
-
“Entirely self-contained executable, MicroBin is a single file!”
raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“### Host MicroBin yourself Run our quick docker setup script ([DockerHub](https://hub.docker.com/r/danielszabo99/microbin)):
bash <(curl -s https://microbin.eu/docker.sh)Or install it manually from [Cargo](https://crates.io/crates/microbin):cargo install microbin; curl -L -O https://raw.githubusercontent.com/szabodanika/microbin/master/.env; source .env; microbin”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“- Server-side and client-side E2E encryption - File uploads (e.g.
server.com/file/pig-dog-cat) - Raw text serving (e.g.server.com/raw/pig-dog-cat) - QR code support - URL shortening and redirection - Animal names instead of random numbers for upload identifiers (64 animals) - Multiple attachments - SQLite and JSON database support - Private and public, editable and uneditable, automatically and never expiring uploads - Automatic dark mode and custom styling support with very little CSS and only vanilla JS (see [water.css](https://github.com/kognise/water.css)) - And much more!”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“MICROBIN_ADMIN_USERNAME Enables administrator interface at yourserver.com/admin/ if set, disables it if unset. If admin username is set but admin password is not, just leave the password field empty when logging in. Default value: admin MICROBIN_ADMIN_PASSWORD Enables administrator interface at yourserver.com/admin/ if set, disables it if unset. Will not have any affect unless admin username is also set. If admin username is set but admin password is not, just leave the password field empty when logging in. Default value: m1cr0b1n caution Please change the administrator username and password if you open your server up to the public.”
microbin.eu/docs/installation-and-configuration/configuration · checked
Facts
License 1 quote
-
“BSD 3-Clause License”
raw.githubusercontent.com/szabodanika/microbin/master/LICENSE · checked
Runs on 2 quotes
-
“Entirely self-contained executable, MicroBin is a single file!”
raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked -
“### Host MicroBin yourself Run our quick docker setup script ([DockerHub](https://hub.docker.com/r/danielszabo99/microbin)):
bash <(curl -s https://microbin.eu/docker.sh)Or install it manually from [Cargo](https://crates.io/crates/microbin):cargo install microbin; curl -L -O https://raw.githubusercontent.com/szabodanika/microbin/master/.env; source .env; microbin”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked
Needs 1 quote
-
“### Host MicroBin yourself Run our quick docker setup script ([DockerHub](https://hub.docker.com/r/danielszabo99/microbin)):
bash <(curl -s https://microbin.eu/docker.sh)Or install it manually from [Cargo](https://crates.io/crates/microbin):cargo install microbin; curl -L -O https://raw.githubusercontent.com/szabodanika/microbin/master/.env; source .env; microbin”raw.githubusercontent.com/szabodanika/microbin/master/README.md · checked
Notability
Users 1 quote
-
“"pull_count":1877641”
hub.docker.com/v2/repositories/danielszabo99/microbin · checked
Other quotes
Not cited by a score or fact 1 quote
-
“MicroBin will load the served files into the memory, so set this limit to roughly the amount of RAM (or less) you would like the server to use at any time.”
microbin.eu/docs/installation-and-configuration/configuration · checked
