Backed by mandō

Structured output.
Precision-specified.

Formatik is the enterprise-grade output specification platform. Define your format once. We handle type coercion, width alignment, precision trimming, and escape rendering — so your data hits stdout exactly as specified. Every specifier. Every byte.

8 format specifiers
14 escape sequences
0 unformatted outputs
formatik — output spec engine
$ formatik "Name: %s | Score: %d" "Acme Corp" 97
Name: Acme Corp | Score: 97
$ formatik "Price: $%.2f\n" 49.99
Price: $49.99
$ formatik "Hex: 0x%04X | Oct: %o" 255 255
Hex: 0x00FF | Oct: 377
$ formatik "%+-10s|%+-10s|%+-10s" "ID" "STATUS" "REGION"
ID |STATUS |REGION
SOC 2 Type II Compliant
POSIX Format Spec Certified
ISO 8859-1 Byte-Level Precision
99.999% Uptime SLA

Eight primitives. Total output control.

Every format specifier is a typed contract between your data and stdout. Formatik enforces every one.

%s

String Interpolation Engine

Inject string arguments directly into your format template with zero type coercion overhead. Width and precision modifiers supported. Left-justify with -. Right-pad to exact column width.

formatik "User: %-20s" "enterprise_admin"
%d

Decimal Integer Formatting

Render signed integers with full control over width, zero-padding, and sign display. The + flag forces sign output. The 0 flag enables zero-fill. Enterprise-grade number rendering.

formatik "ID: %+08d" 4096
%f

Floating-Point Precision

Fixed-point notation with explicit precision control. Specify exactly how many decimal places reach your output. No rounding surprises. No trailing noise. Just the precision you specified.

formatik "Revenue: $%.2f" 1499.956
%x / %X

Hexadecimal Rendering

Convert integer arguments to hexadecimal notation — lowercase with %x, uppercase with %X. Combined with zero-padding and width specifiers for consistent byte-level output.

formatik "Color: #%06X" 16744448
%o

Octal Output Pipeline

Render integer values in base-8 representation. Essential for permission masks, device registers, and legacy protocol compliance. Width and padding flags apply.

formatik "Perms: %04o" 755
%e / %E

Scientific Notation Formatter

Express floating-point values in exponential notation with configurable precision. Lowercase e or uppercase E exponent marker. Built for data pipelines handling extreme-scale numerics.

formatik "Mass: %.3e kg" 5972000
%g

Adaptive Float Rendering

Automatically selects between fixed-point and scientific notation based on magnitude and precision. Strips trailing zeros. The intelligent choice for general-purpose numeric output.

formatik "Val: %g | %g" 0.00042 3.14
%b

Escape-Aware String Processing

Like %s, but interprets backslash escape sequences within the argument itself. Enables dynamic formatting from argument data — tabs, newlines, octal and hex bytes, all resolved at render time.

formatik "%b" "Line1\nLine2\tTabbed"

Four stages to formatted output.

A deterministic pipeline that transforms raw arguments into precision-formatted data.

01

Define the Format Specification

Author your format string — a typed template containing literal text and %-prefixed specifiers. Each specifier declares the expected type, width, precision, and alignment of the corresponding argument.

02

Supply Arguments

Pass arguments in positional order. Formatik performs automatic type coercion — strings to %s, numbers to %d or %f. Excess arguments trigger format string reuse for batch processing.

03

Resolve Escapes & Specifiers

The rendering engine processes escape sequences (\n, \t, \xHH, \0NNN), resolves width and precision modifiers, applies padding and alignment flags, and interpolates every argument.

04

Deliver to Stdout

The fully rendered output is written to standard output. No trailing newline unless you specify one. Complete control over every byte that leaves the process. Composable with any downstream pipeline.

0
Core Format Specifiers
0
Escape Sequences Supported
0
Unformatted Outputs Shipped
0
Percent Type Safety Rate

Formatik vs. echo

Some teams still dump raw strings to stdout. We built something better.

Capability Formatik echo
Type-safe format specifiers %s, %d, %f, %x, %o, %e, %g
Width & precision control %-20.5f, %08d, %+10s
Zero-padding Native (%04d)
Hexadecimal output %x / %X Requires \x + -e flag
Scientific notation %e / %E
Format string reuse Automatic for excess args
Trailing newline control Explicit \n in format -n flag (behavior varies)
Escape sequences Always interpreted in format Only with -e (not portable)

Output precision at every scale.

From prototype to production. Every tier includes full escape sequence support.

Starter
Free
For individual developers
  • %s and %d specifiers
  • Basic escape sequences
  • Width modifiers (fixed)
  • 100 format calls / day
  • Community support
Get Started
Enterprise
$349/mo
For mission-critical output pipelines
  • Everything in Professional
  • Format string reuse engine
  • Dynamic width from args (*)
  • Unicode \uHHHH / \UHHHHHHHH
  • %q shell-safe quoting
  • Custom specifier extensions
  • Dedicated output SLA (99.999%)
  • 24/7 format engineering support
Contact Sales
Regulated
Custom
For compliance-bound industries
  • Everything in Enterprise
  • On-premise deployment
  • Audit logging per specifier
  • FIPS 140-2 stdout channel
  • SOC 2 Type II attestation
  • Dedicated format architect
Talk to Us

Trusted by precision-first teams.

"We were manually padding columns in our reporting pipeline. Formatik's width specifiers eliminated 2,400 lines of alignment code. Our %08d alone saved us a sprint."

Rachel Koenig
Rachel Koenig VP Engineering, Ledger Systems

"echo can't do hex. echo can't do precision. echo can't even control its own trailing newline consistently. We migrated everything to Formatik and our CI pipeline has been clean ever since."

Johan Eriksson
Johan Eriksson Staff SRE, InfraCo

"The format string reuse feature is underrated. We pass 10,000 records through a single format spec and Formatik just iterates. No loops. No scripting. Just data in, formatted data out."

Tanya Shevchenko
Tanya Shevchenko Data Platform Lead, Quantis

"Our compliance team required zero-padded account IDs and fixed-width transaction logs. Formatik's %010d and %-30s solved both requirements in a single format string. Auditors loved it."

Jordan Arevalo
Jordan Arevalo CTO, VaultPay

"I tried building a table output with echo. Four hours. Tried Formatik's width and alignment specifiers. Four minutes. We are a Formatik shop now. No debate."

Aisha Lawson
Aisha Lawson Founding Engineer, NexGen Ops

Specify. Format. Output.

Enter a format string and arguments. See real Formatik output.

formatik — live output specification
$ formatik "Hello, %s. Your balance is $%.2f\n" "Admin" 1024.50
Hello, Admin. Your balance is $1024.50
$ formatik
Presets:

Recent updates.

v4.2.0

Dynamic width from arguments

Use %*d to pull field width from the next argument. Enterprise plan. Eliminates hardcoded column widths in format strings.

v4.1.0

Shell-safe quoting (%q)

The %q specifier outputs arguments escaped for safe shell re-input using POSIX $'' syntax. Prevents injection in generated scripts.

v4.0.0

Unicode escape support

Added \uHHHH (4-digit) and \UHHHHHHHH (8-digit) Unicode codepoint escapes in format strings. Full UTF-8 rendering pipeline.

Frequently asked.

How is Formatik different from echo?

echo dumps literal strings. Formatik provides a typed format specification language with eight specifiers (%s, %d, %f, %x, %o, %e, %g, %b), width/precision modifiers, alignment flags, and consistent escape sequence handling. It's the difference between printing text and specifying output.

What happens when I provide more arguments than specifiers?

Formatik reuses the format string automatically. If your format has two specifiers and you supply six arguments, the format string is applied three times. This enables batch-formatted output from a single invocation — no loops, no scripting.

Does Formatik add a trailing newline?

No. Unlike echo, Formatik only outputs exactly what the format string specifies. Want a newline? Add \n to your format. This is deliberate — it gives you complete control over every byte in the output, including line terminators.

What escape sequences are supported?

The full suite: \", \\, \a (alert), \b (backspace), \c (stop output), \e (escape), \f (form feed), \n (newline), \r (carriage return), \t (tab), \v (vertical tab), \0NNN (octal byte), \xHH (hex byte), and \uHHHH / \UHHHHHHHH (Unicode).

Can I use Formatik for tabular data?

Absolutely. Combine width specifiers with the - left-justify flag: "%-20s %-10d %-8.2f\n". Pair with format string reuse to render entire tables from a flat argument list. Several enterprise customers have replaced custom reporting tools with a single Formatik invocation.

Ready to specify your output?

Join the teams that have moved beyond unformatted strings.

Free tier available. No credit card required.

Backed by mandō