Skip to content
TinyTools

TinyTools API

A free REST API for generators and utilities. No API key, no signup.

All endpoints use GET, return JSON and allow cross-origin requests, so you can call them from a browser, a script or the command line.

Quick start

Base URL

https://tinytools.cc/api/v1
curl "https://tinytools.cc/api/v1/uuid?count=3&format=text"

OpenAPI document →

Response formats

By default responses are JSON in the form { "data": … }. Add format=text to get plain text with one value per line, handy for shell scripts.

Rate limit

60 requests per minute per client. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. When the limit is exceeded you receive 429 with a Retry-After header.

Privacy and fair use

Requests are counted anonymously per endpoint. Your address is only kept in memory for rate limiting and never stored. Please do not use the API for abusive volumes; if you need more, get in touch.

Errors

Errors use the matching HTTP status and a JSON body:

HTTP/1.1 400 Bad Request

{
  "error": {
    "code": "invalid_parameter",
    "message": "Parameter \"count\" must be at most 100.",
    "status": 400
  }
}

Endpoints

GET/api/v1/uuid

Open the web tool →

Generate UUIDs. Returns random version 4 UUIDs or time-ordered version 7 UUIDs.

Parameters

NameTypeDefaultDescription
version4 | 74UUID version.
countinteger 1–1001How many UUIDs to return.
uppercasebooleanfalseReturn uppercase hex.
hyphensbooleantrueKeep the hyphens.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/uuid?count=3"
Try it →

Example response

{
  "data": [
    "9201f2b3-4e90-4d22-a850-e6b2b81aa28e",
    "cb3f5bfe-a2bc-49c8-8687-779c4f7b1b69",
    "00e40eb8-2191-4206-824c-0b06dafb5dd6"
  ]
}

GET/api/v1/password

Open the web tool →

Generate secure passwords. Cryptographically secure random passwords. At least one character of every enabled type is included.

Parameters

NameTypeDefaultDescription
lengthinteger 4–12820Password length.
countinteger 1–501How many passwords to return.
uppercasebooleantrueInclude A–Z.
lowercasebooleantrueInclude a–z.
digitsbooleantrueInclude 0–9.
symbolsbooleantrueInclude symbols.
excludeAmbiguousbooleanfalseLeave out look-alike characters (I, l, 1, O, 0).
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/password?length=16&symbols=false"
Try it →

Example response

{
  "data": [
    "DyPg9pSXuWcJs3pR"
  ]
}

GET/api/v1/random-number

Open the web tool →

Generate random numbers. Random integers or decimals in a range, with optional unique values and sorting.

Parameters

NameTypeDefaultDescription
minnumber1Smallest value (inclusive).
maxnumber100Largest value (inclusive).
countinteger 1–10001How many numbers to return.
decimalsinteger 0–80Decimal places.
uniquebooleanfalseDraw without repeats.
sortnone | asc | descnoneSort order.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/random-number?min=1&max=49&count=6&unique=true&sort=asc"
Try it →

Example response

{
  "data": [
    2,
    8,
    27,
    29,
    32,
    40
  ]
}

GET/api/v1/name

Open the web tool →

Generate random names. Fictional first names, last names or full names for tests, mockups and stories.

Parameters

NameTypeDefaultDescription
typefull | first | lastfullKind of name.
countinteger 1–1001How many names to return.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/name?type=full&count=3"
Try it →

Example response

{
  "data": [
    "Lukas Vogel",
    "Finn Adler",
    "Nora Meyer"
  ]
}

GET/api/v1/username

Open the web tool →

Generate usernames. Catchy usernames built from an adjective, a noun and an optional number.

Parameters

NameTypeDefaultDescription
countinteger 1–1001How many usernames to return.
separatornone | _ | . | -noneCharacter between the parts.
numbersbooleantrueAppend a number (1–999).
capitalizebooleanfalseCapitalize each word.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/username?count=5&separator=_"
Try it →

Example response

{
  "data": [
    "hidden_unicorn_914",
    "proud_thunder_67",
    "lively_robot_435",
    "zesty_wizard_962",
    "swift_raven_468"
  ]
}

GET/api/v1/color

Open the web tool →

Generate random colors. Random colors with HEX, RGB and HSL values.

Parameters

NameTypeDefaultDescription
countinteger 1–1001How many colors to return.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/color?count=3"
Try it →

Example response

{
  "data": [
    {
      "hex": "#63dbbe",
      "rgb": "rgb(99, 219, 190)",
      "hsl": "hsl(166, 62%, 62%)"
    },
    {
      "hex": "#408494",
      "rgb": "rgb(64, 132, 148)",
      "hsl": "hsl(191, 40%, 42%)"
    },
    {
      "hex": "#085818",
      "rgb": "rgb(8, 88, 24)",
      "hsl": "hsl(132, 83%, 19%)"
    }
  ]
}

GET/api/v1/lorem

Open the web tool →

Generate placeholder text. Lorem ipsum paragraphs, sentences or words.

Parameters

NameTypeDefaultDescription
typeparagraphs | sentences | wordsparagraphsUnit to generate.
countinteger 1–2003How many units.
startWithLorembooleantrueStart with "Lorem ipsum dolor sit amet".
htmlbooleanfalseWrap paragraphs in <p> tags.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/lorem?type=sentences&count=2"
Try it →

Example response

{
  "data": "Lorem ipsum dolor sit amet, consectetur, adipiscing elit pretium labore magna est lacus. Officia aute incididunt in aute, magna irure occaecat ipsum occaecat non amet."
}

GET/api/v1/dice

Open the web tool →

Roll dice. Roll one or more dice with 2 to 1000 sides.

Parameters

NameTypeDefaultDescription
sidesinteger 2–10006Number of sides per die.
countinteger 1–1001How many dice to roll.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/dice?sides=20&count=2"
Try it →

Example response

{
  "data": {
    "rolls": [
      12,
      5
    ],
    "sum": 17
  }
}

GET/api/v1/coin

Open the web tool →

Flip a coin. Flip one or more fair coins.

Parameters

NameTypeDefaultDescription
countinteger 1–1001How many coins to flip.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/coin?count=3"
Try it →

Example response

{
  "data": [
    "tails",
    "heads",
    "tails"
  ]
}

GET/api/v1/emoji

Open the web tool →

Random emojis. Random emojis from a curated set of widely supported emojis.

Parameters

NameTypeDefaultDescription
countinteger 1–1001How many emojis to return.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/emoji?count=5"
Try it →

Example response

{
  "data": [
    "😘",
    "🐝",
    "🍫",
    "🌟",
    "🙉"
  ]
}

GET/api/v1/slug

Open the web tool →

Create a URL slug. Turns text into a URL-friendly slug. Umlauts and accents are transliterated.

Parameters

NameTypeDefaultDescription
textrequiredstring—Text to convert.
separator- | _-Word separator.
lowercasebooleantrueConvert to lowercase.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/slug?text=Über%20uns%3A%20Größe%20%26%20Qualität"
Try it →

Example response

{
  "data": "ueber-uns-groesse-qualitaet"
}

GET/api/v1/hash

Open the web tool →

Hash a text. Calculates a hex digest of the UTF-8 text. MD5 and SHA-1 are provided for checksums only.

Parameters

NameTypeDefaultDescription
textrequiredstring—Text to hash.
algorithmmd5 | sha1 | sha256 | sha384 | sha512sha256Hash algorithm.
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/hash?text=hello&algorithm=sha256"
Try it →

Example response

{
  "data": {
    "algorithm": "sha256",
    "hash": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
  }
}

GET/api/v1/base64

Open the web tool →

Base64 encode or decode. UTF-8 safe Base64 encoding and decoding, with an optional URL-safe alphabet.

Parameters

NameTypeDefaultDescription
textrequiredstring—Text to encode, or Base64 to decode.
modeencode | decodeencodeDirection.
urlSafebooleanfalseUse - and _ and drop padding (encode only).
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/base64?text=Hello%20TinyTools&mode=encode"
Try it →

Example response

{
  "data": "SGVsbG8gVGlueVRvb2xz"
}

GET/api/v1/timestamp

Open the web tool →

Current time or timestamp conversion. Without a value it returns the current time. With a Unix timestamp (seconds, or milliseconds above 100 billion) it converts it.

Parameters

NameTypeDefaultDescription
valuenumber—Unix timestamp to convert (optional).
formatjson | textjsonjson returns { data }, text returns one value per line.

Example request

curl "https://tinytools.cc/api/v1/timestamp?value=1735689600"
Try it →

Example response

{
  "data": {
    "unix": 1735689600,
    "unixMs": 1735689600000,
    "iso": "2025-01-01T00:00:00.000Z",
    "utc": "Wed, 01 Jan 2025 00:00:00 GMT"
  }
}