Skip to content

Migrating from Insomnia to Bruno: A Step-by-Step Guide

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.

What is Insomnia?

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.

What is Bruno?

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.

Why Migrate from Insomnia to Bruno?

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

Collections live outside the codebase
Manual collaboration overhead
Extra effort to version API changes
Harder to keep API assets organized locally

Why Bruno helps

Collections stored as local files
Git-friendly workflow for teams
No forced cloud workflow
Open-source and easy to adopt

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 You Start

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.

  • Clean up unused requests or folders
  • Confirm request names and grouping are correct
  • Verify environment variables are saved properly
  • Review any important scripts or test logic

Important: If your collection contains custom scripting logic, review it after import.

Prepare Your Insomnia Collection

Once your collection is ready, export it from Insomnia using the built-in export flow.

  1. Open Insomnia and locate the collection you want to migrate
    Screenshot 2026-03-26 at 2.01.18 PM
  2. Click on the collection name or collection menu
  3. Select the Export option
    Screenshot 2026-03-26 at 1.45.10 PM
  4. Verify collection items, folder structure and API endpoints.
    Screenshot 2026-03-26 at 1.46.25 PM
  5. Choose the appropriate format, such as Insomnia export format(YAML) or HAR when available
    Screenshot 2026-03-26 at 1.46.40 PM
  6. Save the exported file to your system

After exporting, keep the file in a location you can easily access from Bruno during the import step.

Import the Collection into Bruno

Bruno supports collection import, so bringing your Insomnia export into Bruno is straightforward.

  1. Open Bruno or Download it first if you have not installed it yet
  2. Use the Import Collection option from the Bruno interface
    Screenshot 2026-03-26 at 1.47.29 PM
  3. Select the exported Insomnia file and provide location to store collection
    Screenshot 2026-03-26 at 1.49.28 PM
  4. Choose the file format Opencollection(yaml) or bru maintain by Bruno
  5. Click on the Import button
    Screenshot 2026-03-26 at 1.51.05 PM

Once the import is complete, Bruno will convert the collection into Bruno’s file-based structure so you can start working with it locally.

Tip: After import, spend a few minutes reviewing folder structure, request order, environments, and request bodies to make sure everything has been imported correctly and is ready to use.

Environment Import

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 

Screenshot 2026-03-26 at 1.52.06 PM

Bruno Successfully Imported All Environments 

Screenshot 2026-03-26 at 1.51.21 PM

After import, open the environments in Bruno and verify that the expected variables are present and correctly mapped.

  • Check base URLs
  • Verify auth-related variables
  • Review secrets or local overrides carefully
  • Make sure environment names are meaningful for your team

Important Migration Notes

Migration is usually smooth, but there are a few things worth double-checking once the collection is in Bruno.

  • Custom scripts may need manual review or rewrite
  • Folder ordering may need a quick verification
  • Collection metadata and docs should be reviewed after import

Note: Script translation support is currently in progress, so users may need to manually review or rewrite scripts after import.

Benefits of Moving to Bruno

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.

What to Do After Migration

After importing the collection into Bruno, take a few minutes to complete a quick migration review:

  1. Run a few key requests to confirm everything works
  2. Review environment variables and auth configuration
  3. Check folder order and naming
  4. Rewrite or re-add any missing scripts if needed
  5. Commit the Bruno collection into your repository if your team uses Git

This final review helps ensure the migrated collection is production-ready for day-to-day use.

Helpful next steps in Bruno

  • Organize collections inside your project structure
  • Use Git to review request changes with your team
  • Explore documentation workflows
  • Use OpenAPI Sync if your team manages specs actively

Troubleshooting Common Migration Issues

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:

  • Export environments separately from Insomnia and import them into Bruno
  • Open the Insomnia environment export file and search for the missing environment or variable
  • Verify that important values such as base URLs, auth tokens, and secrets are present
  • Review the imported Bruno environment and manually add anything that was not imported

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:

  • Pre-request scripts
  • Post-response scripts
  • Test 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.

Conclusion

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 🚀