Open source · Pocketknife

A portable Blade engine, written in Go.

Pocketknife renders a carefully chosen subset of Laravel Blade from one fast, dependency-free binary — and proves every byte of its output against real Laravel.

greeting.blade.php

@props(['name' => 'Blade'])

<x-card>
    <h1>Hello, {{ $name }}</h1>

    @if ($name === 'Blade')
        <p>Rendered without PHP.</p>
    @endif
</x-card>

output.html

<div class="card">
    <h1>Hello, Blade</h1>

    <p>Rendered without PHP.</p>
</div>

The engine

Blade templates, anywhere you can run a binary

Blade is the nicest way to write HTML — but until now it came bundled with a whole framework. Pocketknife distills it into a single tool you can embed in anything.

One static binary
Written in Go and dependency-free — render Blade anywhere, no PHP or Composer required.
Proven against Laravel
A conformance suite compiles every template through real Laravel and byte-compares the output.
A closed, predictable subset
Components, slots, props, and the core directives — the Blade you write, without arbitrary code execution.
Built for embedding
A simple JSON protocol over stdin and stdout makes it a drop-in engine for any stack.
It powers DevDojo Sites
Every published site renders through Pocketknife — battle-tested on real traffic.
Free and open source
Built in the open on GitHub, alongside the rest of the DevDojo toolbox.

Paste some Blade. Watch it render.

The playground compiles through the real engine, right in your browser.