As you know, Bruno stores collections directly on your filesystem, with each request saved in a plain-text .bru format. Starting with Bruno v3.1, any newly created or imported collections will be stored in YAML format instead. This change does not impact your existing workflows or how you use Bruno; it only affects the underlying file format used to store requests. If you already have collections in the .bru format, nothing will break. We will continue to maintain full feature parity, and both formats will remain fully supported. When we introduced the BRU format, the goal was to support both GUI-first and CLI workflows while keeping collections plain text and Git-friendly. Two years later, we've learned that most users primarily use Bruno as a GUI tool, and maintaining a custom syntax alongside a growing feature set has become increasingly difficult. Tooling has also been a consistent concern. As a custom format, BRU doesn't benefit from the broader ecosystem; no native editor support, standard linting, schema tooling, or strong AI understanding. So we evaluated alternatives. While TOML works well for small configs, API collections often involve deeply nested structures and arrays; which YAML handles more naturally. Read more about it here. Today, you can migrate via exporting and re-importing. In future versions, we will provide a better way to automatically migrate. Migration to YAML is completely lossless. In our benchmarks, YAML parsing is 4-5x faster than BRU and scales significantly better with large collections. As part of this release, we're also excited to introduce a new specification we've been working on: OpenCollection. YAML in Bruno is powered by Opencollection, a developer first open specification for defining and sharing API collections. Bruno now uses this format to store your collections. We're excited about this next chapter for Bruno. YAML gives us a solid foundation to build on; better tooling, faster performance, and a format that developers already know and trust. We're looking forward to seeing what you build with it. If you have any feedback with YAML migration or have some questions or comments, please share them here. No. Migration is lossless. No. YAML is the file format how we store collections in the filesystem, how you work with collections remains the same. Yes. Collections are independent; workspaces are just containers. No, all requests in a collection should be either YAML or BRU. We will be maintaining both BRU and YAML file formats for the near future. Exporting and re-importing should get it converted to YAML. New collections are in YAML by default. Yes. Yes.Overview

Key Differences
Category
BRU
YAML
Performance
Parsing time increases sharply as collection size grows; slow loading with larger files
Consistent and predictable parsing performance; scales and handles large collections efficiently
Tooling & Editor Support
Limited to Bruno-specific extension; no native linting, formatting, or schema validation in standard editors
Native support in most editors; rich ecosystem including yamllint, Prettier, JSON Schema validation, structural diffs
AI & Ecosystem Compatibility
Custom proprietary syntax; limited external understanding outside Bruno
Industry-standard format; widely understood by AI tools, CI pipelines, and developer tooling
Why we're making this change?
Migration
Performance improvements
Request Loading (0.1–2 MB)
Collection Loading (1–10 MB)
OpenCollection: A Standard for API Collections
Conclusion

Will I lose any data when migrating from BRU to YAML?
Do I need to change anything before using YAML?
Can I use both BRU and YAML collections in the same workspace?
Can I use both BRU and YAML requests in the same collection?
Will BRU format be unsupported from now on?
How do I migrate my existing collection to YAML?
Will my folder structure be preserved?
Can I use the Bruno CLI with YAML collections?