Files
sarin/docs/templating.md
T

64 KiB
Raw Permalink Blame History

Templating

Sarin supports Go templates in URL paths, methods, bodies, headers, params, cookies, and values.

Note: Templating in URL host and scheme is not supported. Only the path and query string of the URL can contain templates.

Note: Template rendering happens before the request is sent. The request timeout (-T / timeout) only governs the HTTP request itself and starts after templates have finished rendering, so slow template functions (e.g. captcha solvers, remote file_Read) cannot cause a request timeout no matter how long they take. Downloads have their own limits: 30 seconds and 64MiB per file.

Table of Contents

Using Values

Values are generated once per request and can be referenced in multiple fields using {{ .Values.KEY }} syntax. This is useful when you need to use the same generated value (e.g., a UUID) in both headers and body within the same request.

Example:

values: |
    REQUEST_ID={{ fakeit_UUID }}
    USER_ID={{ fakeit_UUID }}

headers:
    X-Request-ID: "{{ .Values.REQUEST_ID }}"
body: |
    {
      "requestId": "{{ .Values.REQUEST_ID }}",
      "userId": "{{ .Values.USER_ID }}"
    }

In this example, REQUEST_ID is generated once and the same value is used in both the header and body. Each new request generates a new REQUEST_ID.

CLI example:

sarin -U http://example.com/users \
  -V "ID={{ fakeit_UUID }}" \
  -H "X-Request-ID: {{ .Values.ID }}" \
  -B '{"id": "{{ .Values.ID }}"}'

General Functions

String Functions

Function Description Example
strings_ToUpper Convert string to uppercase {{ strings_ToUpper "hello" }} → HELLO
strings_ToLower Convert string to lowercase {{ strings_ToLower "HELLO" }} → hello
strings_RemoveSpaces Remove all spaces from string {{ strings_RemoveSpaces "hello world" }} → helloworld
strings_Replace(s string, old string, new string, n int) Replace first n occurrences of old with new. Use -1 for all {{ strings_Replace "hello" "l" "L" -1 }} → heLLo
strings_ToDate(date string) Parse date string (YYYY-MM-DD format) {{ strings_ToDate "2024-01-15" }}
strings_First(s string, n int) Get first n characters {{ strings_First "hello" 2 }} → he
strings_Last(s string, n int) Get last n characters {{ strings_Last "hello" 2 }} → lo
strings_Truncate(s string, n int) Truncate to n characters with ellipsis {{ strings_Truncate "hello world" 5 }} → hello...
strings_TrimPrefix(s string, prefix string) Remove prefix from string {{ strings_TrimPrefix "hello" "he" }} → llo
strings_TrimSuffix(s string, suffix string) Remove suffix from string {{ strings_TrimSuffix "hello" "lo" }} → hel

Collection Functions

Function Description Example
dict_Str(pairs ...string) Create string dictionary from key-value pairs {{ dict_Str "key1" "val1" "key2" "val2" }}
slice_Str(values ...string) Create string slice {{ slice_Str "a" "b" "c" }}
slice_Join(slice []string, sep string) Join string slice with separator {{ slice_Join (slice_Str "a" "b" "c") "-" }} → a-b-c
slice_Int(values ...int) Create int slice {{ slice_Int 1 2 3 }}
slice_Uint(values ...uint) Create uint slice {{ slice_Uint 1 2 3 }}

JSON Functions

Build JSON payloads programmatically without manual quoting or escaping. json_Object is the ergonomic shortcut for flat objects; json_Encode marshals any value (slice, map, etc.) to a JSON string.

Function Description Example
json_Object(pairs ...any) Build an object from interleaved key-value pairs and return it as a JSON string. Keys must be strings. {{ json_Object "name" "Alice" "age" 30 }}
json_Encode(v any) Marshal any value (slice, map, etc.) to a JSON string. {{ json_Encode (slice_Str "a" "b") }} → ["a","b"]

Examples:

# Flat object with fake data
body: '{{ json_Object "name" (fakeit_FirstName) "email" (fakeit_Email) }}'

# Embed a solved captcha token
body: '{{ json_Object "g-recaptcha-response" (twocaptcha_RecaptchaV2 "API_KEY" "SITE_KEY" "https://example.com") }}'

# Encode a slice as a JSON array
body: '{{ json_Encode (slice_Str "a" "b" "c") }}'

# Encode a string dictionary (map[string]string)
body: '{{ json_Encode (dict_Str "key1" "value1" "key2" "value2") }}'

Note: Object keys are serialized in alphabetical order (Go's encoding/json default), not insertion order. For API payloads this is almost always fine because JSON key order is semantically irrelevant.

Time Functions

Function Description Example
time_NowUnix Current Unix timestamp (seconds) {{ time_NowUnix }} → 1735689600
time_NowUnixMilli Current Unix timestamp (milliseconds) {{ time_NowUnixMilli }} → 1735689600123
time_NowRFC3339 Current time in RFC3339 format {{ time_NowRFC3339 }} → "2026-02-26T21:00:00+04:00" (local time)
time_Format(layout, t) Format a time.Time value with a Go layout {{ time_Format "2006-01-02" (strings_ToDate "2024-05-10") }} → "2024-05-10"

Crypto Functions

Function Description Example
crypto_SHA256(s string) SHA-256 hash (hex-encoded) {{ crypto_SHA256 "hello" }}
crypto_MD5(s string) MD5 hash (hex-encoded) {{ crypto_MD5 "hello" }}
crypto_HMACSHA256(key, msg string) HMAC-SHA256 signature (hex-encoded) {{ crypto_HMACSHA256 "secret" "payload" }}
crypto_Base64URL(s string) Base64 URL-safe encoding (without padding) {{ crypto_Base64URL "hello world" }}

Body Functions

Note: These are available in body only, not in the URL, headers, params, cookies or values.

Function Description Example
body_FormData(pairs ...string) Create multipart form data from key-value pairs. Automatically sets the Content-Type header. Values starting with @ are treated as file references (local path or URL). Use @@ to escape literal @. {{ body_FormData "field1" "value1" "file" "@/path/to/file.pdf" }}

body_FormData Details:

# Text fields only
body: '{{ body_FormData "username" "john" "email" "john@example.com" }}'

# Single file upload
body: '{{ body_FormData "document" "@/path/to/file.pdf" }}'

# File from URL
body: '{{ body_FormData "image" "@https://example.com/photo.jpg" }}'

# Mixed text fields and files
body: |
    {{ body_FormData
       "title" "My Report"
       "author" "John Doe"
       "cover" "@/path/to/cover.jpg"
       "document" "@/path/to/report.pdf"
    }}

# Multiple files with same field name
body: |
    {{ body_FormData
       "files" "@/path/to/file1.pdf"
       "files" "@/path/to/file2.pdf"
    }}

# Escape @ for literal value (sends "@username")
body: '{{ body_FormData "twitter" "@@username" }}'

Note: Files are cached in memory after the first read. Subsequent requests reuse the cached content, avoiding repeated disk/network I/O.

File Functions

Function Description Example
file_Read(source string) Read a file (local path or URL) and return raw content as string. Files are cached after first read. {{ file_Read "/path/to/file.txt" }}
file_Base64(source string) Read a file (local path or URL) and return its Base64 encoded content. Files are cached after first read. {{ file_Base64 "/path/to/file.pdf" }}

file_Read and file_Base64 Details:

# Local file as plain text
body: '{{ file_Read "/path/to/template.json" }}'

# Remote text file
body: '{{ file_Read "https://example.com/payload.txt" }}'

# Local file as Base64 in JSON body
body: '{"file": "{{ file_Base64 "/path/to/document.pdf" }}", "filename": "document.pdf"}'

# Remote file as Base64
body: '{"image": "{{ file_Base64 "https://example.com/photo.jpg" }}"}'

# Combined with values for reuse
values: 'FILE_DATA={{ file_Base64 "/path/to/file.bin" }}'
body: '{"data": "{{ .Values.FILE_DATA }}"}'

Captcha Functions

Captcha functions solve a captcha challenge through a third-party solving service and return the resulting token, which can then be embedded directly into a request. They are intended for load testing endpoints protected by reCAPTCHA, hCaptcha, or Cloudflare Turnstile.

The functions are organized by service: twocaptcha_*, anticaptcha_*, and capsolver_*. Each accepts the API key as the first argument so no global configuration is required. Bring your own key and use any of the supported services per template.

Important: performance and cost:

  • Each call is slow. Solving typically takes ~5–60 seconds because the function blocks the template render until the third-party service returns a token. Internally the solver polls every 1s and gives up after 120s.
  • Each call costs money. Every successful solve is billed by the captcha service (typically $0.001–$0.003 per solve). For high-volume tests, your captcha bill grows linearly with request count.

Common parameters across all captcha functions:

  • apiKey - Your API key for the chosen captcha solving service
  • siteKey - The captcha sitekey extracted from the target page (e.g. the data-sitekey attribute on a reCAPTCHA, hCaptcha, or Turnstile element)
  • pageURL - The URL of the page where the captcha is hosted

2Captcha

Functions for the 2Captcha service. Sarin supports reCAPTCHA v2, reCAPTCHA v3, and Cloudflare Turnstile through this integration.

Function Description
twocaptcha_RecaptchaV2(apiKey, siteKey, pageURL string) Solve a Google reCAPTCHA v2 challenge
twocaptcha_RecaptchaV3(apiKey, siteKey, pageURL, pageAction string) Solve a Google reCAPTCHA v3 challenge. Pass "" for pageAction to omit
twocaptcha_Turnstile(apiKey, siteKey, pageURL string, cData ...string) Solve a Cloudflare Turnstile challenge. Optional cData argument

Anti-Captcha

Functions for the Anti-Captcha service. This is the only Sarin captcha integration that exposes an hCaptcha function.

Function Description
anticaptcha_RecaptchaV2(apiKey, siteKey, pageURL string) Solve a Google reCAPTCHA v2 challenge
anticaptcha_RecaptchaV3(apiKey, siteKey, pageURL, pageAction string) Solve a Google reCAPTCHA v3 challenge. minScore is hardcoded to 0.3 (Anti-Captcha rejects the request without it)
anticaptcha_HCaptcha(apiKey, siteKey, pageURL string) Solve an hCaptcha challenge
anticaptcha_Turnstile(apiKey, siteKey, pageURL string, cData ...string) Solve a Cloudflare Turnstile challenge. Optional cData argument

CapSolver

Functions for the CapSolver service. Sarin supports reCAPTCHA v2, reCAPTCHA v3, and Cloudflare Turnstile through this integration.

Function Description
capsolver_RecaptchaV2(apiKey, siteKey, pageURL string) Solve a Google reCAPTCHA v2 challenge
capsolver_RecaptchaV3(apiKey, siteKey, pageURL, pageAction string) Solve a Google reCAPTCHA v3 challenge. Pass "" for pageAction to omit
capsolver_Turnstile(apiKey, siteKey, pageURL string, cData ...string) Solve a Cloudflare Turnstile challenge. Optional cData argument

Examples:

# reCAPTCHA v2 in a JSON body via 2Captcha
method: POST
url: https://example.com/login
body: |
    {
      "username": "test",
      "g-recaptcha-response": "{{ twocaptcha_RecaptchaV2 "YOUR_API_KEY" "6LfD3PIb..." "https://example.com/login" }}"
    }
# Turnstile via Anti-Captcha with cData
method: POST
url: https://example.com/submit
body: |
    {
      "cf-turnstile-response": "{{ anticaptcha_Turnstile "YOUR_API_KEY" "0x4AAAAAAA..." "https://example.com/submit" "session-cdata" }}"
    }
# hCaptcha via Anti-Captcha
method: POST
url: https://example.com/protected
body: |
    {
      "h-captcha-response": "{{ anticaptcha_HCaptcha "YOUR_API_KEY" "338af34c-..." "https://example.com/protected" }}"
    }
# Share a single solved token across body and headers via values
values: 'TOKEN={{ capsolver_Turnstile "YOUR_API_KEY" "0x4AAAAAAA..." "https://example.com" }}'
headers:
    X-Turnstile-Token: "{{ .Values.TOKEN }}"
body: '{"token": "{{ .Values.TOKEN }}"}'

Fake Data Functions

These functions are powered by gofakeit library.

File

Function Description Example Output
fakeit_FileExtension File extension "nes"
fakeit_FileMimeType MIME type "application/x-wri"

ID

Function Description Example Output
fakeit_ID Generate random unique identifier "pfsfktb87rcmj6bqha2fz9"
fakeit_UUID Generate UUID v4 "b4ddf623-4ea6-48e5-9292-541f028d1fdb"

Product

Function Description Example Output
fakeit_ProductName Product name "olive copper monitor"
fakeit_ProductDescription Product description "Backwards caused quarterly..."
fakeit_ProductCategory Product category "clothing"
fakeit_ProductFeature Product feature "ultra-lightweight"
fakeit_ProductMaterial Product material "brass"
fakeit_ProductUPC UPC code "012780949980"
fakeit_ProductAudience Target audience [adults]
fakeit_ProductDimension Product dimension "medium"
fakeit_ProductUseCase Use case "home"
fakeit_ProductBenefit Product benefit "comfort"
fakeit_ProductSuffix Product suffix "pro"
fakeit_ProductISBN ISBN number "978-1-4028-9462-6"

Person

Function Description Example Output
fakeit_Name Full name "Priscilla Thornton"
fakeit_NamePrefix Name prefix "Mr."
fakeit_NameSuffix Name suffix "Jr."
fakeit_FirstName First name "Priscilla"
fakeit_MiddleName Middle name "Belinda"
fakeit_LastName Last name "Daniel"
fakeit_Gender Gender "male"
fakeit_Age Age 40
fakeit_Ethnicity Ethnicity "German"
fakeit_SSN Social Security Number "296446360"
fakeit_EIN Employer ID Number "12-3456789"
fakeit_Hobby Hobby "Swimming"
fakeit_SocialMedia Social media profile "https://twitter.com/ImpossibleTrousers"
fakeit_Bio Biography "Born in New York, John grew up to become a Software Engineer..."
fakeit_Email Email address "priscilla.thornton@duncan.biz"
fakeit_Phone Phone number "6136459948"
fakeit_PhoneFormatted Formatted phone "136-459-9489"

Generate

Function Description Example
fakeit_Regex(pattern string) Generate string matching regex pattern {{ fakeit_Regex "[a-z]{5}[0-9]{3}" }} → "abcde123"

Auth

Function Description Example
fakeit_Username Username "Daniel1364"
fakeit_Password(lower bool, upper bool, numeric bool, special bool, space bool, length int) Generate password with specified character types and length {{ fakeit_Password true true true false false 16 }}

Address

Function Description Example Output
fakeit_City City name "Reno"
fakeit_Country Country name "United States of America"
fakeit_CountryAbr Country abbreviation "US"
fakeit_State State name "Illinois"
fakeit_StateAbr State abbreviation "IL"
fakeit_Street Full street "364 East Rapidsborough"
fakeit_StreetName Street name "View"
fakeit_StreetNumber Street number "13645"
fakeit_StreetPrefix Street prefix "East"
fakeit_StreetSuffix Street suffix "side"
fakeit_Unit Unit "Apt 123"
fakeit_Zip ZIP code "13645"
fakeit_Latitude Random latitude -73.534056
fakeit_Longitude Random longitude -147.068112
fakeit_LatitudeInRange(min float64, max float64) Latitude in specified range {{ fakeit_LatitudeInRange 0 90 }} → 22.921026
fakeit_LongitudeInRange(min float64, max float64) Longitude in specified range {{ fakeit_LongitudeInRange 0 180 }} → 122.471830

Airline

Function Description Example Output
fakeit_AirlineAircraftType Aircraft type "narrowbody"
fakeit_AirlineAirplane Airplane model "Airbus A320"
fakeit_AirlineAirport Airport name "Hartsfield-Jackson Atlanta International Airport"
fakeit_AirlineAirportIATA Airport IATA code "ATL"
fakeit_AirlineFlightNumber Flight number "AA1234"
fakeit_AirlineRecordLocator Booking reference "ABCDEF"
fakeit_AirlineSeat Seat assignment "12A"

Game

Function Description Example Output
fakeit_Gamertag Gamer tag "TurkeyThinker"

Beer

Function Description Example Output
fakeit_BeerAlcohol Alcohol content "2.7%"
fakeit_BeerBlg Blg "6.4°Blg"
fakeit_BeerHop Hop "Glacier"
fakeit_BeerIbu IBU "29 IBU"
fakeit_BeerMalt Malt "Munich"
fakeit_BeerName Beer name "Duvel"
fakeit_BeerStyle Beer style "European Amber Lager"
fakeit_BeerYeast Yeast "1388 - Belgian Strong Ale"

Car

Function Description Example Output
fakeit_CarMaker Car maker "Nissan"
fakeit_CarModel Car model "Aveo"
fakeit_CarType Car type "Passenger car mini"
fakeit_CarFuelType Fuel type "CNG"
fakeit_CarTransmissionType Transmission "Manual"

Words

Function Description Example Output
fakeit_Word Random word "example"
fakeit_Noun Random noun "computer"
fakeit_NounCommon Common noun "group"
fakeit_NounConcrete Concrete noun "chair"
fakeit_NounAbstract Abstract noun "freedom"
fakeit_NounCollectivePeople Collective noun (people) "team"
fakeit_NounCollectiveAnimal Collective noun (animal) "leap"
fakeit_NounCollectiveThing Collective noun (thing) "bunch"
fakeit_NounCountable Countable noun "book"
fakeit_NounUncountable Uncountable noun "water"
fakeit_NounProper Proper noun "John"
fakeit_NounDeterminer Noun determiner "your"
fakeit_Verb Random verb "would"
fakeit_VerbAction Action verb "jump"
fakeit_VerbLinking Linking verb "is"
fakeit_VerbHelping Helping verb "can"
fakeit_VerbTransitive Transitive verb "follow"
fakeit_VerbIntransitive Intransitive verb "laugh"
fakeit_Adverb Random adverb "quickly"
fakeit_AdverbManner Manner adverb "carefully"
fakeit_AdverbDegree Degree adverb "very"
fakeit_AdverbPlace Place adverb "here"
fakeit_AdverbTimeDefinite Definite time adverb "yesterday"
fakeit_AdverbTimeIndefinite Indefinite time adverb "soon"
fakeit_AdverbFrequencyDefinite Definite frequency adverb "daily"
fakeit_AdverbFrequencyIndefinite Indefinite frequency adverb "often"
fakeit_Preposition Random preposition "on"
fakeit_PrepositionSimple Simple preposition "in"
fakeit_PrepositionDouble Double preposition "out of"
fakeit_PrepositionCompound Compound preposition "according to"
fakeit_Adjective Random adjective "beautiful"
fakeit_AdjectiveDescriptive Descriptive adjective "tired"
fakeit_AdjectiveQuantitative Quantitative adjective "many"
fakeit_AdjectiveProper Proper adjective "American"
fakeit_AdjectiveDemonstrative Demonstrative adjective "this"
fakeit_AdjectivePossessive Possessive adjective "my"
fakeit_AdjectiveInterrogative Interrogative adjective "which"
fakeit_AdjectiveIndefinite Indefinite adjective "some"
fakeit_Pronoun Random pronoun "he"
fakeit_PronounPersonal Personal pronoun "I"
fakeit_PronounObject Object pronoun "him"
fakeit_PronounPossessive Possessive pronoun "mine"
fakeit_PronounReflective Reflective pronoun "myself"
fakeit_PronounDemonstrative Demonstrative pronoun "that"
fakeit_PronounInterrogative Interrogative pronoun "who"
fakeit_PronounRelative Relative pronoun "which"
fakeit_PronounIndefinite Indefinite pronoun "few"
fakeit_Connective Random connective "however"
fakeit_ConnectiveTime Time connective "then"
fakeit_ConnectiveComparative Comparative connective "after all"
fakeit_ConnectiveComplaint Complaint connective "i.e."
fakeit_ConnectiveListing Listing connective "firstly"
fakeit_ConnectiveCasual Casual connective "because"
fakeit_ConnectiveExamplify Examplify connective "for example"
fakeit_Interjection Interjection "wow"

Text

Function Description Example
fakeit_Sentence Random sentence {{ fakeit_Sentence }}
fakeit_Paragraph Random paragraph {{ fakeit_Paragraph }}
fakeit_LoremIpsumWord Lorem ipsum word "eveniet"
fakeit_LoremIpsumSentence(wordCount int) Lorem ipsum sentence with specified word count {{ fakeit_LoremIpsumSentence 5 }}
fakeit_LoremIpsumParagraph(paragraphs int, sentences int, words int, separator string) Lorem ipsum paragraphs with specified structure {{ fakeit_LoremIpsumParagraph 1 3 5 "\n" }}
fakeit_Question Random question "What is the marginal gain from fear?"
fakeit_Quote Random quote "Energy is contagious so is fear"
fakeit_Phrase Random phrase "how many siblings do you have"
fakeit_PhraseNoun Noun phrase "a tribe"
fakeit_PhraseVerb Verb phrase "fully integrate a system"
fakeit_PhraseAdverb Adverb phrase "fully gladly"
fakeit_PhrasePreposition Preposition phrase "out the black thing"
fakeit_Comment Comment "add some a little bit team"

Foods

Function Description Example Output
fakeit_Fruit Fruit "Peach"
fakeit_Vegetable Vegetable "Amaranth Leaves"
fakeit_Breakfast Breakfast food "Blueberry banana happy face pancakes"
fakeit_Lunch Lunch food "No bake hersheys bar pie"
fakeit_Dinner Dinner food "Wild addicting dip"
fakeit_Snack Snack "Trail mix"
fakeit_Dessert Dessert "French napoleons"
fakeit_Drink Drink "Soda"

Misc

Function Description Example Output
fakeit_Bool Random boolean true
fakeit_FlipACoin Flip a coin "Heads"

Color

Function Description Example Output
fakeit_Color Color name "MediumOrchid"
fakeit_HexColor Hex color "#a99fb4"
fakeit_RGBColor RGB color [85 224 195]
fakeit_HSLColor HSL color [210 85 50]
fakeit_SafeColor Safe color "black"
fakeit_NiceColors Nice color palette [#cfffdd #b4dec1 #5c5863 #a85163 #ff1f4c]

Image

Function Description Example
fakeit_ImageJpeg(width int, height int) Generate a JPEG byte slice {{ fakeit_ImageJpeg 100 100 }}
fakeit_ImagePng(width int, height int) Generate a PNG byte slice {{ fakeit_ImagePng 100 100 }}

Note: Go templates render byte slices as decimal lists, not raw binary image data. Use {{ json_Encode (fakeit_ImagePng 100 100) }} to produce a Base64-encoded JSON string. These functions cannot write raw image bytes directly through body templating.

Internet

Function Description Example Output
fakeit_URL Random URL "http://www.principalproductize.biz/target"
fakeit_UrlSlug(words int) URL slug with specified word count {{ fakeit_UrlSlug 3 }} → "bathe-regularly-quiver"
fakeit_DomainName Domain name "centraltarget.biz"
fakeit_DomainSuffix Domain suffix "org"
fakeit_IPv4Address IPv4 address "222.83.191.222"
fakeit_IPv6Address IPv6 address "2001:cafe:8898:ee17:bc35:9064:5866:d019"
fakeit_MacAddress MAC address "cb:ce:06:94:22:e9"
fakeit_HTTPStatusCode HTTP status code 200
fakeit_HTTPStatusCodeSimple Simple status code 404
fakeit_LogLevel(logType string) Log level (types: general, syslog, apache) {{ fakeit_LogLevel "general" }} → "error"
fakeit_HTTPMethod HTTP method "HEAD"
fakeit_HTTPVersion HTTP version "HTTP/1.1"
fakeit_UserAgent Random User-Agent "Mozilla/5.0..."
fakeit_ChromeUserAgent Chrome User-Agent "Mozilla/5.0 (X11; Linux i686)..."
fakeit_FirefoxUserAgent Firefox User-Agent "Mozilla/5.0 (Macintosh; U;..."
fakeit_OperaUserAgent Opera User-Agent "Opera/8.39..."
fakeit_SafariUserAgent Safari User-Agent "Mozilla/5.0 (iPad;..."
fakeit_APIUserAgent API User-Agent "curl/8.2.5"

HTML

Function Description Example Output
fakeit_InputName HTML input name "message"
fakeit_Svg SVG image "<svg>...</svg>"

Date/Time

Function Description Example
fakeit_Date Random date 2013-11-07 04:31:13.726582492 +0000 UTC
fakeit_PastDate Date 1–12 hours before now Current time − 1–12 hours
fakeit_FutureDate Date 1–12 hours after now Current time + 1–12 hours
fakeit_DateRange(start time.Time, end time.Time) Random date between start and end {{ fakeit_DateRange (strings_ToDate "2020-01-01") (strings_ToDate "2025-12-31") }}
fakeit_NanoSecond Nanosecond 123456789
fakeit_Second Second (0-59) 45
fakeit_Minute Minute (0-59) 30
fakeit_Hour Hour (0-23) 14
fakeit_Month Month (1-12) 6
fakeit_MonthString Month name "June"
fakeit_Day Day (1-31) 15
fakeit_WeekDay Weekday "Monday"
fakeit_Year Year 2024
fakeit_TimeZone Timezone name "West Pacific Standard Time"
fakeit_TimeZoneAbv Timezone abbreviation "EST"
fakeit_TimeZoneFull Full timezone "(UTC+10:00) Guam, Port Moresby"
fakeit_TimeZoneOffset Timezone offset -5
fakeit_TimeZoneRegion Timezone region "Indian/Chagos"

Payment

Function Description Example
fakeit_Price(min float64, max float64) Random price in range {{ fakeit_Price 1 100 }} → 92.26
fakeit_CreditCardCvv CVV "513"
fakeit_CreditCardExp Expiration date "01/27"
fakeit_CreditCardNumber(gaps bool) Credit card number. gaps: add spaces between groups {{ fakeit_CreditCardNumber true }} → "4111 1111 1111 1111"
fakeit_CreditCardType Card type "Visa"
fakeit_CurrencyLong Currency name "United States Dollar"
fakeit_CurrencyShort Currency code "USD"
fakeit_AchRouting ACH routing number "513715684"
fakeit_AchAccount ACH account number "491527954328"
fakeit_BitcoinAddress Bitcoin address "1BoatSLRHtKNngkdXEeobR76b53LETtpyT"
fakeit_BitcoinPrivateKey Bitcoin private key "5JMZxkQX2PgaasaHc8wnWLNdMu7rxeU7xS64ev7RWNinacicPfm"
fakeit_BankName Bank name "Toronto Dominion Bank"
fakeit_BankType Bank type "Investment Bank"

Finance

Function Description Example Output
fakeit_Cusip CUSIP identifier "38259P508"
fakeit_Isin ISIN identifier "US38259P5089"

Company

Function Description Example Output
fakeit_BS Business speak "front-end"
fakeit_Blurb Company blurb "Teamwork"
fakeit_BuzzWord Buzzword "disintermediate"
fakeit_Company Company name "TransparaGov"
fakeit_CompanySuffix Company suffix "Inc"
fakeit_JobDescriptor Job descriptor "Central"
fakeit_JobLevel Job level "Assurance"
fakeit_JobTitle Job title "Director"
fakeit_Slogan Company slogan "Made of styrofoam."

Hacker

Function Description Example Output
fakeit_HackerAbbreviation Hacker abbreviation "ADP"
fakeit_HackerAdjective Hacker adjective "wireless"
fakeit_HackeringVerb Hackering verb "connecting"
fakeit_HackerNoun Hacker noun "driver"
fakeit_HackerPhrase Hacker phrase "If we calculate the program, we can get to the AI pixel through the redundant XSS matrix!"
fakeit_HackerVerb Hacker verb "synthesize"

Hipster

Function Description Example
fakeit_HipsterWord Hipster word "microdosing"
fakeit_HipsterSentence Hipster sentence "Soul loops with you probably haven't heard of them undertones."
fakeit_HipsterParagraph Hipster paragraph "Single-origin austin, double why. Tag it Yuccie, keep it any..."

App

Function Description Example Output
fakeit_AppName App name "Parkrespond"
fakeit_AppVersion App version "1.12.14"
fakeit_AppAuthor App author "Qado Energy, Inc."

Animal

Function Description Example Output
fakeit_PetName Pet name "Ozzy Pawsborne"
fakeit_Animal Animal "elk"
fakeit_AnimalType Animal type "amphibians"
fakeit_FarmAnimal Farm animal "Chicken"
fakeit_Cat Cat breed "Chausie"
fakeit_Dog Dog breed "Norwich Terrier"
fakeit_Bird Bird "goose"

Emoji

Function Description Example Output
fakeit_Emoji Random emoji "🤣"
fakeit_EmojiCategory Emoji category "Smileys & Emotion"
fakeit_EmojiAlias Emoji alias "smile"
fakeit_EmojiTag Emoji tag "happy"
fakeit_EmojiFlag Flag emoji "🇺🇸"
fakeit_EmojiAnimal Animal emoji "🐱"
fakeit_EmojiFood Food emoji "🍕"
fakeit_EmojiPlant Plant emoji "🌸"
fakeit_EmojiMusic Music emoji "🎵"
fakeit_EmojiVehicle Vehicle emoji "🚗"
fakeit_EmojiSport Sport emoji "⚽"
fakeit_EmojiFace Face emoji "😊"
fakeit_EmojiHand Hand emoji "👋"
fakeit_EmojiClothing Clothing emoji "👕"
fakeit_EmojiLandmark Landmark emoji "🗽"
fakeit_EmojiElectronics Electronics emoji "📱"
fakeit_EmojiGame Game emoji "🎮"
fakeit_EmojiTools Tools emoji "🔧"
fakeit_EmojiWeather Weather emoji "☀️"
fakeit_EmojiJob Job emoji "👨‍💻"
fakeit_EmojiPerson Person emoji "🧓"
fakeit_EmojiGesture Gesture emoji "🤦‍♀️"
fakeit_EmojiCostume Costume emoji "🧞"
fakeit_EmojiSentence Emoji sentence with random emojis interspersed "Weekends reserve time for 🖼️ Disc 🏨 golf and day."

Language

Function Description Example Output
fakeit_Language Language "English"
fakeit_LanguageAbbreviation Language abbreviation "en"
fakeit_LanguageBCP BCP language tag "en-US"
fakeit_ProgrammingLanguage Programming language "Go"

Number

Function Description Example
fakeit_Number(min int, max int) Random number in range {{ fakeit_Number 1 100 }} → 42
fakeit_Int Random int {{ fakeit_Int }}
fakeit_IntN(n int) Random int in [0, n) {{ fakeit_IntN 100 }}
fakeit_Int8 Random int8 {{ fakeit_Int8 }}
fakeit_Int16 Random int16 {{ fakeit_Int16 }}
fakeit_Int32 Random int32 {{ fakeit_Int32 }}
fakeit_Int64 Random int64 {{ fakeit_Int64 }}
fakeit_IntRange(min int, max int) Random int in range {{ fakeit_IntRange -10 10 }}
fakeit_Uint Random uint {{ fakeit_Uint }}
fakeit_UintN(n uint) Random uint in [0, n) {{ fakeit_UintN 100 }}
fakeit_Uint8 Random uint8 {{ fakeit_Uint8 }}
fakeit_Uint16 Random uint16 {{ fakeit_Uint16 }}
fakeit_Uint32 Random uint32 {{ fakeit_Uint32 }}
fakeit_Uint64 Random uint64 {{ fakeit_Uint64 }}
fakeit_UintRange(min uint, max uint) Random uint in range {{ fakeit_UintRange 10 100 }}
fakeit_Float32 Random float32 {{ fakeit_Float32 }}
fakeit_Float32Range(min float32, max float32) Random float32 in range {{ fakeit_Float32Range 0 100 }}
fakeit_Float64 Random float64 {{ fakeit_Float64 }}
fakeit_Float64Range(min float64, max float64) Random float64 in range {{ fakeit_Float64Range 0 100 }}
fakeit_RandomInt(slice []int) Random int from slice {{ fakeit_RandomInt (slice_Int 1 2 3) }}
fakeit_RandomUint(slice []uint) Random uint from slice {{ fakeit_RandomUint (slice_Uint 1 2 3) }}
fakeit_HexUint(bits int) Random hex uint with specified bits {{ fakeit_HexUint 8 }} → "0xff"

String

Function Description Example
fakeit_Digit Single random digit "0"
fakeit_DigitN(n uint) Generate n random digits {{ fakeit_DigitN 5 }} → "71364"
fakeit_Letter Single random letter "g"
fakeit_LetterN(n uint) Generate n random letters {{ fakeit_LetterN 10 }} → "gbRMaRxHki"
fakeit_Vowel Single lowercase vowel "a"
fakeit_Lexify(pattern string) Replace ? with random letters {{ fakeit_Lexify "?????@??????.com" }} → "billy@mister.com"
fakeit_Numerify(pattern string) Replace # with random digits {{ fakeit_Numerify "(###)###-####" }} → "(555)867-5309"
fakeit_RandomString(slice []string) Random string from slice {{ fakeit_RandomString (slice_Str "a" "b" "c") }}

Celebrity

Function Description Example Output
fakeit_CelebrityActor Celebrity actor "Brad Pitt"
fakeit_CelebrityBusiness Celebrity business "Elon Musk"
fakeit_CelebritySport Celebrity sport "Michael Phelps"

Minecraft

Function Description Example Output
fakeit_MinecraftOre Minecraft ore "coal"
fakeit_MinecraftWood Minecraft wood "oak"
fakeit_MinecraftArmorTier Armor tier "iron"
fakeit_MinecraftArmorPart Armor part "helmet"
fakeit_MinecraftWeapon Minecraft weapon "bow"
fakeit_MinecraftTool Minecraft tool "shovel"
fakeit_MinecraftDye Minecraft dye "white"
fakeit_MinecraftFood Minecraft food "apple"
fakeit_MinecraftAnimal Minecraft animal "chicken"
fakeit_MinecraftVillagerJob Villager job "farmer"
fakeit_MinecraftVillagerStation Villager station "stonecutter"
fakeit_MinecraftVillagerLevel Villager level "master"
fakeit_MinecraftMobPassive Passive mob "cow"
fakeit_MinecraftMobNeutral Neutral mob "bee"
fakeit_MinecraftMobHostile Hostile mob "wither skeleton"
fakeit_MinecraftMobBoss Boss mob "ender dragon"
fakeit_MinecraftBiome Minecraft biome "forest"
fakeit_MinecraftWeather Minecraft weather "rain"

Book

Function Description Example Output
fakeit_BookTitle Book title "Hamlet"
fakeit_BookAuthor Book author "Mark Twain"
fakeit_BookGenre Book genre "Adventure"

Movie

Function Description Example Output
fakeit_MovieName Movie name "Inception"
fakeit_MovieGenre Movie genre "Sci-Fi"

Error

Function Description Example Output
fakeit_Error Random error "variable assigned before declaration"
fakeit_ErrorObject Error object "protocol"
fakeit_ErrorDatabase Database error "destination pointer is nil"
fakeit_ErrorGRPC gRPC error "connection refused"
fakeit_ErrorHTTP HTTP error "wrote more than the declared Content-Length"
fakeit_ErrorHTTPClient HTTP client error "expectation failed"
fakeit_ErrorHTTPServer HTTP server error "not extended"
fakeit_ErrorRuntime Runtime error "expected 2 arguments, got 3"
fakeit_ErrorValidation Validation error "missing required field"

School

Function Description Example Output
fakeit_School School name "Hillside Private Academy"

Song

Function Description Example Output
fakeit_SongName Song name "What Was I Made For?"
fakeit_SongArtist Song artist "Queen"
fakeit_SongGenre Song genre "Rock"