How to Migrate from Postman to Bruno
·OSSAlt Team
postmanbrunomigrationapi testingguide
How to Migrate from Postman to Bruno
Bruno is the Git-native alternative to Postman. Instead of syncing to a cloud account, API collections live as files in your Git repo. Version-controlled, offline-first, and open source. Here's how to migrate.
Why Bruno?
- Git-native — collections are plain text files in your repo
- Offline-first — no cloud sync, no account required
- Fast — Electron app, but leaner than Postman
- No cloud lock-in — your requests are just files
- Free forever — MIT license, desktop app
Step 1: Export from Postman
- Open Postman → select collection
- Click ⋯ → Export → Collection v2.1
- Save the JSON file
Step 2: Install Bruno
Download from usebruno.com for Mac, Windows, or Linux.
Or via package manager:
# macOS
brew install bruno
# npm (cross-platform)
npm install -g @usebruno/cli
Step 3: Import Postman Collection
- Open Bruno
- Click Import Collection
- Select Postman Collection
- Choose your exported JSON file
- Select a folder in your project to store the collection
Bruno converts Postman's JSON into .bru files — plain text, one file per request:
# get-users.bru
meta {
name: Get Users
type: http
seq: 1
}
get {
url: {{baseUrl}}/api/users
body: none
auth: bearer
}
auth:bearer {
token: {{authToken}}
}
headers {
Content-Type: application/json
}
Step 4: Set Up Environments
Create environment files in your collection folder:
# environments/development.bru
vars {
baseUrl: http://localhost:3000
authToken: dev-token-here
}
# environments/production.bru
vars {
baseUrl: https://api.example.com
authToken: prod-token-here
}
Step 5: Commit to Git
# Your API collection is now plain text files
git add api-collection/
git commit -m "Import API collection from Postman"
This is Bruno's killer feature — your entire API test suite is version-controlled alongside your code. Every team member has the same requests, synced via Git. No cloud account needed.
Key Differences
| Postman | Bruno |
|---|---|
| Cloud-synced collections | Git-native file-based |
| JSON format (opaque) | .bru format (readable) |
| Account required | No account |
{{variable}} | {{variable}} (same!) |
| Pre-request scripts | ✅ JavaScript scripting |
| Test scripts | ✅ Assertions |
| Mock servers | ❌ |
| Team collaboration | Git (push/pull) |
| Environments in cloud | Environment files in repo |
What You'll Gain
- Version control — requests in Git, reviewable in PRs
- Team sync via Git — no cloud account or subscription
- Offline work — no internet needed
- Security — no API keys sent to cloud
- Plain text — readable, diffable, greppable
What You'll Lose
- Cloud sync (replaced by Git)
- Mock servers
- API monitoring
- Postman's collaboration UI
Compare API testing tools on OSSAlt — workflow, collaboration, and data ownership side by side.