A privacy-first, client-side encrypted pastebin alternative. No accounts, no tracking, just secure sharing.
NullBin solves the problem of sharing sensitive code, notes, or data securely without requiring user accounts or exposing content to servers. All content is encrypted client-side before transmission, ensuring complete privacy.
Who it's for: Developers, security-conscious users, and anyone who needs to share encrypted content temporarily.
- Frontend: Next.js 15, React, TypeScript
- Styling: Tailwind CSS, shadcn/ui components
- Database: MongoDB with TTL indexes
- Encryption: Web Crypto API (AES-256-GCM)
- Syntax Highlighting: Shiki
- Deployment: Vercel-ready
- Client-Side Encryption: All content encrypted in browser before transmission
- Auto-Expiring Pastes: Set expiration times (1h, 1d, 7d, 30d, or never)
- Syntax Highlighting: Support for 40+ programming languages
- Optional Password Protection: Add extra security layer
- No Registration: Share instantly without accounts
- Secure Sharing: Decryption keys in URL hash, never sent to server
-
Clone the repository
git clone https://github.com/marvellousz/nullbin.git cd nullbin
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Create
.env.local
with:MONGODB_URI=mongodb://localhost:27017 MONGODB_DB=nullbin NEXT_PUBLIC_BASE_URL=http://localhost:3000
-
Start MongoDB
# Local MongoDB mongod # Or use MongoDB Atlas (cloud)
-
Run the application
npm run dev
Visit http://localhost:3000
to use the application.
- Click "Start Creating" on the homepage
- Enter your content in the editor
- Select language for syntax highlighting
- Choose expiry time (1h, 1d, 7d, 30d, or never)
- Optionally set password for extra security
- Click "Create Paste" to generate encrypted link
- Share the link - decryption key is in the URL hash
- Click "Find Paste" on the homepage
- Enter paste ID or full URL with hash fragment
- Content decrypts automatically in your browser
- No server access to your content
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard:
MONGODB_URI
: Your MongoDB Atlas connection stringMONGODB_DB
: Your database nameNEXT_PUBLIC_BASE_URL
: Your production domain
- Deploy - Vercel handles the build automatically
# Build the application
npm run build
# Start production server
npm start
Ensure all environment variables are set in your deployment platform:
MONGODB_URI
(MongoDB Atlas connection string)MONGODB_DB
(database name)NEXT_PUBLIC_BASE_URL
(production domain)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Email: pranavmurali024@gmail.com
- GitHub: https://github.com/marvellousz/nullbin
Built with ❤️ for privacy