BabelQueue is an open-source standard — plus the SDKs that implement it — for queue messages that any language can read. It is free software, developed in the open, and maintained by Muhammet Şafak.
A producer in one language writes a job to the broker you already run; a consumer in another
language picks it up and handles it. That works because every SDK emits the same strict JSON
envelope instead of a language-specific serialization format — no PHP serialize() on the wire,
no bridge service, no schema registry to operate. Messages are identified by a
URN rather than a class name, and a trace_id is carried unchanged across
every hop.
The envelope is frozen at schema_version: 1: no field is added,
renamed, removed or retyped without a deliberate version decision, so a v1 producer stays readable
by every v1 consumer indefinitely. That guarantee — not any single SDK — is the product.
There are six SDK cores today (PHP, Python, Go, Node.js, Java and .NET), each with framework adapters and per-broker transport modules, and all of them are locked to a shared cross-SDK conformance suite of golden envelopes. The wire contract is the normative reference; the SDKs follow it, never the other way round. The vocabulary those pages use is defined term by term in the glossary.
Teams that run more than one language end up sharing a queue, and the default message formats do
not travel. A Laravel job is a PHP serialize() string that only PHP can decode, a Celery task
follows Celery’s own message protocol, and each framework names jobs after its own classes. The usual
workarounds — a translation service in the middle, a second queue per language, or rewriting the
producer — add moving parts and drift over time.
BabelQueue removes the translation step. Every producer writes the same envelope, every consumer reads it, and the broker in between stays the one you already operate.
BabelQueue is generally available. All six SDK cores reached
1.0.0 on 7 June 2026 together and have shipped compatible minor releases
since; each one follows SemVer, so breaking API changes wait for a major version. The wire envelope
is frozen at schema_version: 1, and every opt-in feature added after 1.0 — idempotency, the
transactional outbox, schema validation, tracing, DLQ redrive, field-level encryption — has kept it
there. Redis and RabbitMQ are supported everywhere; Amazon SQS, Azure Service Bus, Apache Pulsar,
Apache Kafka and ActiveMQ Artemis are supported per SDK as listed in the
documentation. The current version of each core is shown on the home page.
BabelQueue was created and is maintained by Muhammet Şafak (@muhammetsafak), who also writes the specification, the SDKs and the articles on this site. Work happens in public: each SDK, the shared conformance suite and this website live in their own repositories (see below).
The standard and every SDK are released under the MIT licence (© 2026 Muhammet Şafak). You can use BabelQueue commercially, fork it, and vendor it into a closed-source product. The source of every SDK, the conformance suite and this website is public in the BabelQueue organisation on GitHub.
The content of this website is licensed under CC BY 4.0; the BabelQueue and Tignex names and logos are excluded. See the terms of use for details.
Bug reports, questions and pull requests are welcome on the repository for the SDK you are using — open an issue in the GitHub organisation and it will land with the maintainer. Two things are worth knowing before you file:
New to the project? Start with the documentation, the FAQ, the glossary, or the blog.
Tignex is an independent open-source engineering organization that builds tools, infrastructure, protocols and standards for developers and software teams. Its aim is software that gives developers more control, takes interoperability seriously, avoids unnecessary vendor lock-in and can be self-hosted. Projects published under Tignex keep their own names, identities and domains; Tignex is the engineering organization they share.
Muhammet Şafak is the founder of Tignex — a software engineer, system architect and engineering researcher who has been building software since 2008. Today he works on the architecture, scalability and reliability of high-traffic distributed systems. He publishes independent research that examines system behaviour through reproducible measurements, and chooses technology by the problem rather than the language. In the rest of his time he builds open-source tools and infrastructure software under Tignex.