FanOut is the mission-critical data fan-out infrastructure that reads from any input stream and simultaneously writes to stdout and every file you need. Zero data loss. Zero compromise. Infinite surface area.
Trusted by pipeline-first teams at
FanOut reads from standard input and writes simultaneously to standard output and every destination file. One pipeline entry point. Unlimited egress. Ship faster.
Copy standard input to each destination file AND to standard output simultaneously. One ingestion, infinite fan-out. This is the core primitive every data team has been missing.
-aAppend to given files rather than overwriting. Protect existing data while continuously enriching destination logs. The compound interest of pipeline output — every run adds value without destroying what came before.
-iIgnore interrupt signals during critical fan-out operations. When your pipeline is mid-flight, FanOut ensures delivery continuity. SIGINT? Not on our watch. This is what "production-grade" actually means.
-pOperate in a more appropriate mode with pipes. Full diagnostic output for write errors on non-pipe destinations. When something breaks, you know exactly what and where. Observability built into the core protocol.
--output-errorGranular write-error behavior: warn, warn-nopipe, exit, or exit-nopipe. Configure exactly how your pipeline responds to destination failures. Four modes. Total control. Enterprise-grade resilience policies for every scenario.
Pass as many file destinations as your infrastructure demands. There's no artificial cap. One stream fans out to 2 files, 20 files, 200 files. Horizontal scale for your data egress layer.
A distributed fan-out topology in four primitive operations.
FanOut opens a read channel on standard input. Any upstream data producer — log aggregators, ETL jobs, sensor feeds — writes into the pipeline. Single entry point. Zero configuration.
Every byte is simultaneously routed to stdout (your primary consumer) and every registered destination file. The fork happens at the byte level — no buffering delays, no eventual consistency. Strong consistency guarantees from the ground up.
Each destination is governed by your configured error policy. Warn, exit, or selectively skip broken pipes. FanOut's Output Error Policy Engine ensures no silent failures across your fan-out topology.
Data lands at every destination. stdout continues downstream for further processing. Append mode preserves historical state. Your pipeline is complete. Ship it.
StreamVault processes 1.8 terabytes of telemetry data per hour across 12 data centers. Before FanOut, their engineering team maintained a brittle mesh of custom multiplexer scripts to route pipeline output to multiple log sinks, archive buckets, and real-time dashboards. Every new destination required a code change, a PR review, and a deploy cycle. "We were spending more time on plumbing than on product," said Kira Nakamura, VP of Platform Engineering.
"FanOut replaced 9,000 lines of custom routing code with a single operator. We went from a three-sprint integration to a one-line config change."
After deploying FanOut with --output-error=warn-nopipe across their ingestion tier,
StreamVault reduced their pipeline failure rate by 91%. Append mode (-a) enabled safe
concurrent writes to rotating log files without data loss. The team reclaimed two full engineering
headcount that had been dedicated to pipeline maintenance. "FanOut isn't just a tool. It's the
missing primitive," Nakamura added. "We should have had this from day one."
Start free. Scale without friction.
For individual developers exploring fan-out.
For teams that need reliable multi-destination fan-out.
-a)-i)-p)For orgs running fan-out at production scale.
--output-error modesFor organizations where fan-out is mission-critical infrastructure.
"We replaced our entire custom log multiplexer with FanOut. Append mode alone saved us 200 engineering hours per quarter. This is the primitive the ecosystem has been waiting for."
"The --output-error policy engine is genuinely best-in-class. We run warn-nopipe in production and exit in staging. Different failure semantics for different environments. High-leverage configuration."
"I was manually copying pipeline output between files. Then I found FanOut. One command, multiple destinations, zero overhead. It's one of those 'why didn't this exist before' products."
"The interrupt shielding feature is non-negotiable for our production pipelines. SIGINT used to corrupt mid-write log files. FanOut's -i flag eliminated that entire failure class."
"We evaluated three fan-out solutions. FanOut was the only one with first-class pipe diagnostics. The -p flag gives us observability into write errors that we literally couldn't get anywhere else."
Real commands. Real output. One stream, multiple destinations.
$ echo "deploy: production v4.2.1 status=success" | fanout deploy.log deploy: production v4.2.1 status=success $ cat deploy.log deploy: production v4.2.1 status=success
$ echo "metric: cpu_usage=42%" | fanout -a metrics.log audit.log metric: cpu_usage=42% $ echo "metric: mem_usage=67%" | fanout -a metrics.log audit.log metric: mem_usage=67% $ cat metrics.log metric: cpu_usage=42% metric: mem_usage=67%
$ ls -1 /var/log/*.log | fanout -i -a filelist.txt | wc -l 12 $ head -3 filelist.txt /var/log/auth.log /var/log/kern.log /var/log/syslog
FanOut reads data from standard input and simultaneously writes it to standard output and one or more destination files. Think of it as a data splitter — one input stream, unlimited output destinations. It's the core primitive for any serious pipeline architecture.
Absolutely. FanOut processes data as a passthrough — we don't store, inspect, or modify your
stream content. Combined with our SOC 2 Type II certification and interrupt shielding
(-i), your data is protected end-to-end during every fan-out operation.
That's exactly what our Output Error Policy Engine is for. Choose from four modes:
warn (diagnose but continue), warn-nopipe (warn only for non-pipe
failures), exit (halt on any failure), or exit-nopipe (halt only
for non-pipe failures). Default behavior diagnoses non-pipe errors and exits on pipe errors.
Full control.
FanOut is infrastructure-layer software that operates directly on your data streams. It runs wherever your pipeline runs — air-gapped environments, edge deployments, submarines. No cloud dependency required for core fan-out operations.
FanOut is designed to be a composable primitive. It reads from stdin and writes to stdout, making it a first-class citizen in any pipeline. Slot it between any producer and consumer. Pipe in, fan out. It composes with every tool in your stack.