Swagger Editor is basically a code editor that knows OpenAPI syntax. You can try it at editor.swagger.io right now - no signup, no installation, just start writing API specs.
It's free and open source with over 8,000 GitHub stars. The browser version stores files locally so don't lose your work. You can also run it locally with Docker if you need that.
Current Versions
v4.14.7 is stable - use this one. v5 is alpha with AsyncAPI support but it's buggy as hell.
Handles OpenAPI 2.0 (legacy), 3.0 (current standard), 3.1 (newer), and AsyncAPI if you're into event-driven stuff.
How It Actually Works
You write YAML on the left, see docs on the right. Auto-completion works most of the time. When it breaks, the error messages are useless - "Invalid schema" could mean literally anything.
The preview generates interactive docs with "Try it out" buttons. This is handy for testing but remember it's making real HTTP requests from your browser. CORS will bite you if you're testing against localhost APIs - learn how CORS works.
Real Usage Notes
Most people use the browser version because it's convenient. Large specs can make it sluggish - if you're writing massive APIs with 1000+ lines, consider the local version or break your spec into smaller files with references.
The browser version doesn't auto-save. You'll lose work if you close the tab. Export your YAML constantly or you'll learn this the hard way like everyone else when you spend 3 hours writing a spec just to accidentally hit refresh.
Version 5 alpha has better AsyncAPI support if you're doing event-driven APIs. But again, it's alpha - use at your own risk. You can track the v5 roadmap on GitHub.