Looking to move from Insomnia to Bruno? This guide walks you through the migration process step by step, including how to export your Insomnia collection, import it into Bruno, preserve environments, and understand what changes to expect.
TL;DR: Bruno makes it easy to migrate from Insomnia and continue your API workflow in a local-first, Git-friendly, open-source API client. Export your Insomnia collection, import it into Bruno, review environments and scripts, and start working locally with collections stored as plain files.
Table of Contents
Insomnia is a popular open-source API client used by developers to test REST, GraphQL, and other APIs. It is widely known as an alternative to tools like Postman and is used by teams building and testing enterprise-grade APIs.
Many developers like Insomnia because of its clean interface, scripting support, and collection-based workflow. But as teams grow, some users start looking for a tool that is more local-first, Git-friendly, and easier to manage directly from the file system.
Bruno is a local-first, open-source, and Git-friendly API client built for speed and simplicity. Instead of locking collections inside a cloud workspace, Bruno stores them as plain files on your local machine. That means your API collections can live alongside your codebase and be version-controlled with Git.
This makes Bruno a strong fit for developers and teams who want more control over their API workflows, fewer cloud dependencies, and a better way to collaborate using familiar development tools.
A lot of teams want a workflow that is simpler, more transparent, and easier to maintain over time. Bruno helps by keeping your collections in plain text files, removing unnecessary cloud dependency, and making collaboration easier through Git.
Typical pain points
Why Bruno helps
Local First
Your collections live on your machine, not in a locked cloud workspace.
Git Friendly
Track API collection changes the same way you track code changes.
Open Source
Contribute, request features, and understand how the tool evolves.
Before migrating, make sure your Insomnia collection is in a clean state. Review your folders, requests, environments, and documentation so the export includes everything you want to bring into Bruno.
Important: If your collection contains custom scripting logic, review it after import.
Once your collection is ready, export it from Insomnia using the built-in export flow.
After exporting, keep the file in a location you can easily access from Bruno during the import step.
Bruno supports collection import, so bringing your Insomnia export into Bruno is straightforward.
Once the import is complete, Bruno will convert the collection into Bruno’s file-based structure so you can start working with it locally.
If your Insomnia export includes environment information, Bruno can usually bring those values along during import. In many cases, you do not need to export environments separately.
Environments in Insomnia
Bruno Successfully Imported All Environments
After import, open the environments in Bruno and verify that the expected variables are present and correctly mapped.
Migration is usually smooth, but there are a few things worth double-checking once the collection is in Bruno.
Note: Script translation support is currently in progress, so users may need to manually review or rewrite scripts after import.
Migrating to Bruno is not just about changing tools. It is about adopting a workflow that fits naturally into modern development practices.
1. Everything stays local
Collections are stored in your file system as plain files, giving you more control over how and where your API assets live.
2. Better team collaboration
Since collections are file-based, teams can track changes with Git, review them in pull requests, and keep API workflows close to the codebase.
3. OpenAPI-friendly workflow
Bruno supports OpenAPI-based workflows, making it easier to keep collections aligned with your API spec and documentation.
4. Open source by design
You can request improvements, contribute features, report bugs, and work with a tool that is transparent and community-driven.
After importing the collection into Bruno, take a few minutes to complete a quick migration review:
This final review helps ensure the migrated collection is production-ready for day-to-day use.
Helpful next steps in Bruno
Migration from Insomnia to Bruno is usually straightforward, but there are a few things worth checking if something does not look right after import.
1. Environment variables are missing or not mapped correctly
When exporting collections from Insomnia, environment data may be included in the export. Bruno will usually pick this up and map it to the appropriate environment during import.
If some environment variables do not appear in Bruno, try the following:
You can also explore Bruno Converters for additional migration options: https://docs.usebruno.com/converters/overview
2. Environment names or variable names look different after import
Bruno environment names and variables must only contain alphanumeric characters, -, _, and .. They also cannot start with a digit.
If your Insomnia environment contains unsupported characters, such as /, Bruno converts them to -. If something does not appear as expected, check the name and rename it manually if needed.
3. Scripts and test cases appear in a different section
Bruno has separate areas for scripts:
During import, Insomnia pre-request scripts should appear in Bruno’s pre-request script section. However, post-response scripts and test cases from Insomnia may appear under Bruno’s post script section instead of the separate test tab.
This does not necessarily mean your scripts are missing. They may just be imported into a different script section. You can continue using them there or manually move test-specific logic into Bruno’s test tab.
We are still improving scripting support for Insomnia-to-Bruno migration. If you find a script that does not work correctly after import, please report it here: https://github.com/usebruno/bruno/issues/7543
4. Importing all Insomnia data
If you want to migrate everything together, you can export all data from Insomnia, including the workspace and collections, and then import it into Bruno using the collection import flow.
Bruno allows you to select multiple collections during import, which is useful when you are moving a larger workspace instead of a single collection.
For more details, you can refer to Bruno’s import/export documentation: Import Collections
Tip: After import, always run a few important requests, verify environments, and review scripts before using the migrated collection in your daily workflow.
Bruno is becoming a strong choice for developers who want a modern API client without the overhead of a cloud-first workflow. Its local-first design, Git-friendly approach, and open-source nature make it a practical tool for individuals and teams who want more control over their API collections.
If you are moving from Insomnia, the migration process is simple enough to get started quickly, while still giving you room to adopt a cleaner long-term workflow for API testing and collaboration.
If your team needs advanced collaboration, secret management, or enterprise support, you can always reach out to the Bruno team separately.
Happy migrating 🚀