Tiger vs Insomnia

Insomnia is a capable API client with a free tier, cloud sync, and a plugin ecosystem. Tiger keeps everything local: no account, no cloud, plain-text collections in Git, and a built-in MCP server so AI assistants can run your requests directly.

Where they overlap

Both Tiger and Insomnia support REST, GraphQL, OAuth 2.0, pre- and post-request JavaScript, named environments with {{variable}} interpolation, response captures for request chaining, client certificate authentication (mTLS), multipart file upload, and native builds on macOS, Windows, and Linux. Both can import Postman and OpenAPI collections, and both let you set secret variables that are masked in the UI.

i

Tiger imports Insomnia v4 export files (.json) directly. Open Tiger, choose File → Import, select your Insomnia export, and every request, folder, and environment is recreated on disk as .tiger files in under a minute.

Side-by-side comparison

Capability Tiger 0.4.0 Insomnia
License MIT Partial - core Apache 2.0; product is cloud-leaning with proprietary layers
Collections stored as plain text in Git Yes - one .tiger file per request; committed directly to your repo No - stored in a local SQLite database by default; not diff-friendly
Account required Never - zero signup; every feature works offline Partial - a local scratch project works without sign-in; team sync and some features require an account
Works fully offline Yes - every feature available with no network connection Partial - core request sending is offline; cloud sync requires connectivity
Built-in Git panel Yes - status, diff, commit, push, pull, branch, checkout, clone, log - all inside the app No - no native Git UI; uses its own proprietary sync layer
MCP server for AI clients Yes - built-in tiger-mcp binary; exposes list_requests, list_environments, get_request, run_request to Claude, Cursor, and others No
WSDL / SOAP import Yes - each binding operation becomes a POST with a ready-to-fill SOAP envelope; SOAP 1.1 + 1.2 (added in 0.4.0) No - raw XML bodies can be sent manually, but there is no WSDL importer
GraphQL Yes - dedicated body type with a separate variables pane Yes - GraphQL supported with schema introspection
Pre/post-request scripting Yes - sandboxed JavaScript; assertions surface as pass/fail tests Yes - pre-request and after-response scripts supported
Response captures (request chaining) Yes - declarative capture block in the .tiger file; no scripting required Yes - response chaining via environment variable writes in scripts
Collection runner with test assertions Yes - runs a collection or folder with live pass/fail verdicts and a stop button Partial - runner available via the separate inso CLI tool; desktop GUI runner is limited
OAuth 2.0 client credentials Yes Yes
Client certificates (mTLS) Yes - PEM pair or PFX/PKCS12, plus custom CA bundle Yes
Built-in performance runs Yes - configurable concurrency; min/max/avg/p50/p95 results locally No - no built-in load or perf runner in the desktop app
Plugin ecosystem Not yet - no plugin API in 0.4.0; scripting covers most custom logic Yes - published npm plugin API with a community registry
Cloud team sync No - Git is the sync layer; Tiger has no proprietary cloud Yes - cloud sync with project sharing on paid tiers
Import: Insomnia v4, Postman v2.0/2.1, OpenAPI 3 / Swagger 2, Bruno, curl, WSDL All six Most - Insomnia native format, Postman, OpenAPI; no WSDL importer
macOS / Windows / Linux native builds Yes - native builds for all three; Linux: AppImage + .deb Yes

The core difference: plain text vs a database

Insomnia stores collections in a local SQLite database. That database is not readable in a text editor, does not produce meaningful diffs, and cannot be reviewed in a pull request. Teams work around this by exporting to JSON periodically and committing the snapshot - but that is manual, loses history fidelity, and produces large noisy diffs when many requests change at once.

Tiger stores every request as one .tiger file. The folder is a normal Git repository. Adding a request is a commit. Changing a base URL is a one-line diff. Reviewing what changed between releases is a standard pull request. New team members run git clone and have the full collection history immediately, with no export step and no Tiger account.

Where Tiger goes further

Built-in MCP server

Tiger ships a Model Context Protocol server (tiger-mcp) that exposes your saved requests as tools for any MCP-compatible AI client. Claude Desktop, Cursor, and others can call list_requests, list_environments, get_request, and run_request against your collection without leaving the chat. Insomnia has no equivalent.

WSDL / SOAP import

Point Tiger at a .wsdl file and it parses the binding operations and generates one POST request per operation, pre-filled with a SOAP envelope, the correct Content-Type header (SOAP 1.1 and 1.2), and the SOAPAction header for SOAP 1.1 services. Insomnia has no WSDL importer; you must construct the XML envelope manually.

Git-native storage

Tiger stores every request as a plain-text .tiger file that you commit to your own repository. API changes show up in pull request diffs. Insomnia stores data in a local SQLite database that is opaque to git diff.

Built-in Git UI

Tiger surfaces Git operations - status, diff, commit, push, pull, branch, checkout, clone, discard, log, and sync - inside the app. Team members who do not use a terminal can still participate in version control without a separate GUI client. Insomnia uses its own proprietary sync layer instead.

Performance runs

Select any request, open the Perf tab, configure iterations and concurrency, and Tiger reports min, max, avg, p50, and p95 latency inline. Insomnia has no built-in load or performance runner.

Where Insomnia goes further

Plugin ecosystem

Insomnia has a published npm plugin API and a community registry of extensions for authentication helpers, response transformers, and more. Tiger's scripting covers a lot of the same ground in 0.4.0, but if you depend on a specific Insomnia plugin, check whether a pre- or post-request script can replace it before switching.

Cloud team sync

Insomnia's cloud sync lets teams share collections without setting up or maintaining a Git remote. If your team does not already use Git for API definitions, Insomnia's sync model requires less initial setup. Tiger assumes Git as a given.

Non-developer access

Insomnia's cloud UI can give QA engineers or product managers read access to collections without the desktop app or a Git client. Tiger requires the desktop app and a Git workflow, which may add friction for non-engineering audiences.

Which should you choose?

Choose Tiger if any of these apply:

Choose Insomnia if any of these apply:

Migrating from Insomnia to Tiger

The full migration takes a few minutes for most collections:

  1. In Insomnia, open the collection and choose Export from the application menu. Select the Insomnia v4 format and save the .json file.
  2. In Tiger, choose File → Import (or click Import on the welcome screen).
  3. Select your .json export file. Tiger recreates every request, folder, and environment as .tiger files inside a new collection folder on disk.
  4. Open the collection folder in your terminal and make an initial commit. From this point on, all changes are tracked normally.
  5. If you had Insomnia environments, Tiger maps them to named environment files under environments/. Tiger uses the same double-brace {{variable}} syntax, so most values transfer without editing.

Secrets stored in Insomnia environments that are excluded from the export file will need to be re-entered. Tiger marks environment values as secret when you toggle the lock icon next to the field.

Frequently asked questions

Can Tiger import Insomnia collections?

Yes. Tiger imports Insomnia v4 export files (.json) directly. Open Tiger, choose Import, select your Insomnia export, and every request, folder, and environment is recreated as .tiger files on disk.

Does Tiger require an account like Insomnia?

No. Tiger has no account system at all. Every feature - collections, environments, scripting, MCP server, collection runner - works without signing in, and nothing is ever sent to a Tiger server. Requests, tokens, and response bodies stay on your machine.

How do teams collaborate in Tiger without cloud sync?

Collections are plain-text .tiger files on disk. You commit them to your existing Git repository and share changes the same way you share code: branches, pull requests, and git clone. Tiger also ships a built-in Git panel for status, diff, commit, push, pull, and branch management without leaving the app.

Does Tiger support Insomnia's plugin-style custom templates?

Tiger does not have a plugin API in 0.4.0. Pre-request and post-response JavaScript scripts cover most custom logic: you can generate dynamic values, modify the request before it sends, and assert on response shape. Dynamic built-ins like {{$uuid}}, {{$timestamp}}, and {{$randomInt}} handle the most common template-tag use cases. For plugins that do something highly specific, check whether a pre-request script achieves the same result before deciding.

Related pages

Importing collections
How to import from Insomnia, Postman, Bruno, OpenAPI, WSDL, and curl.
MCP server
Connect Tiger to Claude, Cursor, or any MCP-compatible AI client.
Environments and variables
Named environments, secret values, and {{variable}} interpolation.
Tiger vs Postman
How Tiger compares to Postman on features, pricing, and privacy.