Skip to content
Flexible and production-ready Mustache templates for MacOS Cocoa and iOS
Objective-C HTML C Other
Branch: master
Clone or download
Latest commit af9d138 Jun 30, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
Articles -> Jun 12, 2013
Reference/html v7.3.0 Sep 13, 2014
lib v7.3.2 Apr 22, 2015
src Fix memory leak Jun 30, 2016
.gitignore Extend OS X ignores Jun 17, 2013
.gitmodules Remove jrswizzle submodule Sep 8, 2015
AppledocSettings.plist v7.3.0 Sep 13, 2014
GRMustache.podspec v7.3.2 Apr 22, 2015
Makefile Fix Makefile Mar 15, 2014 Remove documentation for `zip` filter (fix for issue #82) Sep 13, 2014


GRMustache is a Mustache template engine written in Objective-C, for both MacOS Cocoa and iOS.

It ships with built-in goodies and extensibility hooks that let you avoid the strict minimalism of the genuine Mustache language when you need it.

April 22, 2015: GRMustache 7.3.2 is out. Release notes

Get release announcements and usage tips: follow @GRMustache on Twitter.

System requirements

GRMustache targets iOS down to version 4.3, MacOS down to 10.6 Snow Leopard (without garbage collection), and only depends on the Foundation framework.

Swift developers: You can use GRMustache from Swift, with a limitation: you can only render Objective-C objects. Instead, consider using GRMustache.swift, a pure Swift implementation of GRMustache.

How To

1. Setup your Xcode project

You have three options, from the simplest to the hairiest:

2. Start rendering templates

#import "GRMustache.h"


// Renders "Hello Arthur!"
NSString *rendering = [GRMustacheTemplate renderObject:@{ @"name": @"Arthur" } fromString:@"Hello {{name}}!" error:NULL];
// Renders the `Profile.mustache` resource of the main bundle
NSString *rendering = [GRMustacheTemplate renderObject:user fromResource:@"Profile" bundle:nil error:NULL];

Reuse templates in order to avoid parsing the same template several times:

GRMustacheTemplate *template = [GRMustacheTemplate templateFromResource:@"Profile" bundle:nil error:nil];
rendering = [template renderObject:arthur error:NULL];
rendering = [template renderObject:barbara error:NULL];
rendering = ...


If you don't know Mustache, start here:


Released under the MIT License.

Other Nifty Libraries

You can’t perform that action at this time.