Burs-IA Utils

io.github.soyeladice-svg/bursia-utils · v1.5.0 · productivity

Burs-IA Utils is healthy: it completed an MCP handshake in 417 ms and exposes 466 tools.

Free, no-login LatAm/Spanish-native agent tools; validate-only IDs; unsigned consistency receipts.

Endpoint: https://bursia-utils-production.up.railway.app/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count466
Latency417 ms
Last checked (UTC)2026-11-01T01:35:27.619Z

Health history

Checked (UTC)StatusLatencyError
2026-11-01T01:35:27.619ZHealthy417

Tools (100)

find_toolSearches the 465 tools of this server by keywords (English or Spanish) and an optional family, and returns the best matches with their input schemas. When: the right tool for a task is not known yet. Not for: running a tool (tools/call does that). Side effects: none (read-only, no network access, no
token-estimateHeuristically estimates how many LLM tokens a text uses (Latin text ~4 chars/token, CJK ~1 char/token, code and punctuation denser) with a ±25% range. Real counts depend on each model's tokenizer. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, c
prompt-template-fillFills {{variable}} placeholders (dotted paths allowed, optional {{name|default}}) from a values object, reporting missing and unused variables; strict mode fails on missing values. No code execution. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries
json-repairRepairs almost-JSON typical of LLM output (code fences, comments, single quotes, unquoted keys, trailing or missing commas, Python True/False/None, NaN, unclosed strings and brackets) and returns the parsed value and the fixes applied. When: a model returned almost-valid JSON that has to be parsed w
json-extractFinds and parses JSON objects/arrays embedded in free text (e.g. an LLM reply): fenced ```json blocks first, then balanced {…}/[…] spans; optionally repairs near-JSON. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking, JSON clean-
code-blocks-extractExtracts fenced code blocks (``` or ~~~) from Markdown or LLM output with their language tags and line counts, optionally filtered by language. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking, JSON clean-up). Not for: finding an
rag-chunkSplits text into chunks of at most N characters or estimated tokens with overlap, preferring paragraph, then sentence, then word boundaries; returns offsets for citation. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking, JSON cle
dedupe-similarGroups near-duplicate strings (Jaccard similarity of character 3-grams ≥ threshold, accent- and case-insensitive) among up to 2,000 items, keeping the first of each group. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking, JSON cl
vector-similarityComputes the cosine similarity, dot product, Euclidean and Manhattan distance between two numeric vectors of equal length (≤ 8,192 dims), plus their L2 norms. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking, JSON clean-up). Not
vector-top-kRanks up to 2,000 candidate vectors by cosine similarity (or negative Euclidean distance) to a query vector and returns the top k with indices and scores; total size capped at 2M numbers. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking,
bm25-rankRanks up to 2,000 documents for a query with Okapi BM25 (k1, b tunable) using accent-insensitive Unicode word tokens, e.g. to pick passages for retrieval without embeddings. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking, JSON
backoff-scheduleComputes retry delays for exponential, linear or constant backoff with a cap and optional jitter (full, equal or decorrelated; seeded for reproducibility), and the cumulative wait. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking
retry-after-parseParses an HTTP Retry-After value (delay seconds or HTTP-date) into seconds to wait and the absolute retry time, relative to a given now instant. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking, ranking, JSON clean-up). Not for: computing
rate-limit-planComputes, for a limit of N requests per window and a number of calls to make, the minimum spacing between calls, the minimum total duration and a token-bucket wait time for the next call. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking,
idempotency-keyDerives a deterministic idempotency key from a request (method, URL, canonical JSON body, optional scope) as SHA-256 hex or a UUID-shaped string, so retries of the same request reuse the same key. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, c
token-units-convertConverts a token amount between decimal and integer base units exactly (BigInt), e.g. USDC (6 decimals) 1.5 ↔ 1500000, ETH (18) or any decimals 0-36, as used in x402 payment requirements. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs, retries, chunking,
x402-cost-estimateEstimates the cost of a batch of pay-per-call API requests (e.g. x402 at $0.001/call) in USD and USDC base units, after a free allowance, and how many calls a budget buys. Exact decimal math. When: an agent description, tool list, OpenAPI document or receipt has to be read, converted or checked agai
llm-cost-estimateEstimates LLM request cost from input/output token counts (or text, estimated heuristically) and supplied per-million-token prices, with optional cached-input pricing and call volume. No built-in price list. When: an agent loop needs an exact, repeatable result for a bookkeeping step (tokens, costs,
text-redact-piiMasks common personal data and secrets in text: emails, phone numbers, Luhn-valid card numbers, IBANs, IPv4 addresses, JWTs, API keys (sk-, AKIA, ghp_, xox, AIza) and PEM private keys. Pattern-based; may miss or over-match. When: personal data (emails, phones, IDs, cards) has to be masked in text be
tool-definition-convertConverts a tool definition (name, description, JSON Schema parameters) between MCP (inputSchema), OpenAI function-calling (function.parameters) and Anthropic tool-use (input_schema) shapes, validating the name. When: an agent description, tool list, OpenAPI document or receipt has to be read, conver
color-convertParses any common CSS color (hex 3/4/6/8, rgb(), hsl(), hwb(), oklch(), oklab(), 148 named colors) and returns hex, RGB, HSL, HSV, CMYK (naive), OKLab, OKLCH and CIELAB (D65). Out-of-gamut OKLCH is chroma-reduced into sRGB. When: color values, contrast or palettes have to be computed exactly, e.g. f
color-contrastComputes the WCAG 2.x contrast ratio between foreground and background colors (alpha composited over the background) with AA/AAA pass/fail for normal text, large text and UI components. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: find
color-contrast-fixFinds the closest color to a foreground (changing only OKLCH lightness, keeping hue) that reaches a target WCAG contrast ratio against a background, trying darker and lighter directions. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: com
color-mixMixes two colors by a weight (like CSS color-mix) in OKLab (perceptual, default), linear sRGB or gamma sRGB space. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: parsing any common CSS color (color-convert). Side effects: none (read-only
color-adjustAdjusts a color in OKLCH: change lightness, chroma (saturation) and hue by deltas, or set alpha; results are mapped back into the sRGB gamut. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: finding the closest color to a foreground (color
color-paletteGenerates harmony palettes from a base color by rotating OKLCH hue: complementary, analogous, triadic, split-complementary, tetradic (square) or monochromatic (lightness steps). When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: parsing any
color-scaleBuilds an evenly spaced color ramp between two colors in OKLab (n steps), or a 50-950 design-system scale from one brand color by varying OKLCH lightness at constant hue. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: parsing any common
color-blindness-simulateSimulates how a color appears with protanopia, deuteranopia, tritanopia (Machado et al. 2009, severity 1) or achromatopsia, to check palettes for color-blind users. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: parsing any common CSS co
color-delta-eComputes the perceptual difference between two colors: CIEDE2000 ΔE (CIELAB D65) and Euclidean OKLab ΔE, with a plain-language interpretation (< 1 imperceptible … > 10 very different). When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: compu
color-name-nearestFinds the closest of the 148 CSS named colors to a given color (by OKLab distance), with the distance, and whether it is an exact match. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: parsing any common CSS color (color-convert). Side ef
color-temperatureApproximates the sRGB color of a black-body light source at a temperature from 1,000 K to 40,000 K (Tanner Helland fit), e.g. 2700 K warm white or 6500 K daylight. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: adjusting a color in OKLCH
color-luminanceReturns WCAG relative luminance, OKLCH lightness, whether the color reads as light or dark, and whether black or white text has more contrast on it. When: color values, contrast or palettes have to be computed exactly, e.g. for accessibility checks. Not for: parsing any common CSS color (color-conve
json-parse-checkChecks whether text is valid JSON (RFC 8259); on error returns the parser message with line and column. Also reports the top-level type and nesting depth. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: repairing almost-JSON typical o
json-prettyParses JSON text and re-serializes it with 2/4-space or tab indentation, optionally sorting object keys. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: parsing JSON text and serializing it without whitespace (json-minify). Side effec
json-minifyParses JSON text and serializes it without whitespace; reports byte sizes before and after. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: parsing JSON text and re-serializes it with 2/4-space or tab indentation, optionally sorting o
json-sort-keysRecursively sorts object keys (by UTF-16 code units, or locale-aware), leaving array order unchanged. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: serializing a JSON value in RFC 8785 (json-canonicalize). Side effects: none (read-o
json-canonicalizeSerializes a JSON value in RFC 8785 (JCS) canonical form: sorted keys, no whitespace, ECMAScript number formatting; also returns its SHA-256 for signing or deduplication. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: recursively sor
json-pointer-getReads the value at a path such as /clientes/0/nit inside a JSON document using RFC 6901 syntax (~1 stands for /, ~0 for ~) and reports whether the path exists rather than failing. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: evalua
json-pathEvaluates a JSONPath query (RFC 9535 subset: .name, ['name'], [n], [*], .., [a:b:c], unions, filters with ==, !=, <, <=, >, >=, &&, ||, !) and returns matching values and their normalized paths. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly.
json-patch-applyApplies an RFC 6902 JSON Patch (add, remove, replace, move, copy, test) atomically to a document; any failing operation aborts the whole patch. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: computing an RFC 6902 JSON Patch that tran
json-diff-patchComputes an RFC 6902 JSON Patch that transforms document a into document b (object keys diffed recursively, arrays element-wise with tail adds/removes). When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: applying an RFC 6902 JSON Patch (
json-merge-patch-applyApplies an RFC 7386 JSON Merge Patch: objects merge recursively, null deletes a key, any other value replaces. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: generating the RFC 7386 merge patch that turns document a into b (json-merg
json-merge-patch-createGenerates the RFC 7386 merge patch that turns document a into b. Merge patches cannot set a value to null or patch inside arrays. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: applying an RFC 7386 JSON Merge Patch (json-merge-patch-
json-flatten-pathsFlattens nested objects/arrays into one level with dotted keys (a.b.0.c) or bracket array indices (a.b[0].c). Empty objects/arrays are kept as leaves. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: returning a new object containing o
json-unflattenRebuilds nested JSON from flat dotted keys; numeric segments and [n] become array indices (max 10,000) unless arrays is false. Conflicting keys and __proto__/constructor/prototype segments are rejected. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked e
json-pickReturns a new object containing only the given dotted paths (e.g. user.name, items.0.id) from the input object. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: flattening nested objects/arrays into one level with dotted keys (json-fla
json-omitRemoves the given keys from an object; with deep=true removes them at every nesting level (e.g. strip password or token fields). When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: returning a new object containing only the given dotted p
json-describeSummarizes a JSON value: nesting depth, counts of each type, number of keys, serialized size, and the set of distinct paths (arrays collapsed to []). When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: turning sample documents (json-schem
json-schema-validateValidates a JSON value against a JSON Schema using a built-in subset (type, enum, const, properties, required, items, min/max*, pattern, format, allOf/anyOf/oneOf/not). No $ref; patterns are time-limited; unsupported keywords are reported. When: structured data (JSON, CSV, YAML, XML, arrays) has to
json-schema-from-samplesTurns sample documents (for example API replies) into a starter JSON Schema: merges the types seen at each path, marks keys present in every sample as required and describes array items. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for:
csv-parseParses RFC 4180 CSV (quoted fields, escaped quotes, CRLF, BOM) with a chosen delimiter into an array of objects using the header row, or arrays of strings; optional number/boolean inference. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not
csv-buildConverts an array of objects (or arrays) to RFC 4180 CSV; columns are the union of keys in first-seen order, nested values are JSON-encoded, and spreadsheet formula prefixes can be neutralized. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. N
yaml-parseParses a safe YAML subset (block maps and sequences, plain/quoted scalars, flow [..] {..}, | and > blocks, comments) to JSON. Anchors, aliases, tags, merge keys and multi-documents are rejected. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly.
yaml-buildSerializes a JSON value as block-style YAML, quoting strings that would otherwise be read as numbers, booleans, null or YAML syntax. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: parsing a safe YAML subset (yaml-parse). Side effects
xml-parseParses XML into JSON: attributes as @name, text as #text (or a plain string for text-only elements), repeated children as arrays. DTDs and custom entities are rejected (no XXE or entity expansion). When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactl
ndjson-to-jsonParses newline-delimited JSON (JSON Lines) into an array, skipping blank lines; errors report the failing line number. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: serializing an array of JSON values as newline-delimited JSON (json
json-to-ndjsonSerializes an array of JSON values as newline-delimited JSON (one compact value per line). When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: parsing newline-delimited JSON (ndjson-to-json). Side effects: none (read-only, no network acce
dotenv-parseParses dotenv text (KEY=value, export prefix, single/double quotes, \n escapes in double quotes, # comments) into an object. No variable expansion or execution. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: parsing a safe YAML subse
array-dedupeRemoves duplicate items (deep equality via canonical JSON) or items with a duplicate key, keeping the first occurrence and original order. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: grouping near-duplicate strings (dedupe-similar
array-sortSorts an array of values or objects by one or more keys (stable), ascending or descending, numbers before strings, with locale-aware natural string comparison. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: sorting lines with locale-
array-group-byGroups objects by the value of a key (dotted path), returning an object of arrays and group counts; missing keys go under "null". When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: counting occurrences of each distinct value (array-count
array-count-byCounts occurrences of each distinct value (or of a key's value), sorted by count descending. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: grouping objects by the value of a key (array-group-by). Side effects: none (read-only, no ne
array-chunkSplits an array into consecutive chunks of a given size (last chunk may be shorter), e.g. for batching API calls. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: sorting an array of values or objects by one or more keys (array-sort).
array-flattenFlattens nested arrays to a given depth (default fully). When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: flattening nested objects/arrays into one level with dotted keys (json-flatten-paths). Side effects: none (read-only, no network
array-set-opsComputes union, intersection, difference (a−b) or symmetric difference of two arrays using deep equality, preserving first-seen order. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: removing duplicate items (array-dedupe). Side effec
array-pluckExtracts the value at a key (dotted path) from every object in an array; missing values become null or are dropped. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: grouping objects by the value of a key (array-group-by). Side effects:
array-shuffleShuffles an array (Fisher-Yates) or draws a sample of k items without replacement. Uses secure randomness, or a seed for reproducible results. When: structured data (JSON, CSV, YAML, XML, arrays) has to be transformed, compared or checked exactly. Not for: sorting an array of values or objects by on
datetime-parseParses an ISO 8601 or RFC 2822 date-time (or YYYY-MM-DD) and returns UTC ISO, Unix seconds/ms, local wall time in a time zone with offset, weekday, day of year, ISO week, quarter and leap-year flag. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, lea
timestamp-convertConverts a Unix timestamp to ISO 8601 (auto-detecting seconds, milliseconds, microseconds or nanoseconds by magnitude, or explicit unit), or an ISO date-time to Unix seconds and milliseconds. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years
timezone-shiftConverts a wall-clock date-time from one IANA time zone to another (DST-aware via Intl), or an absolute instant (with Z/offset) to a target zone. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: listing the supported IANA time zo
timezone-infoReports a time zone's UTC offset and local time at an instant, its January and July offsets, whether DST is in effect, and the short and long zone names. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: listing the supported IANA
timezone-listLists the IANA time zone identifiers supported by this runtime, optionally filtered by a case-insensitive substring (e.g. America, Bogota). When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: converting a wall-clock date-time from o
timezone-overlapFinds, for a date and a list of time zones with local working hours, the UTC window when everyone is within working hours, shown in each zone's local time. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: listing the supported IA
datetime-formatFormats an instant in a time zone and locale, either with Intl styles (full/long/medium/short) or a pattern (YYYY MM DD HH mm ss SSS MMMM ddd dddd hh A Z; [text] for literals). When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: par
date-addAdds (or subtracts, with negatives) years, months, weeks, days, hours, minutes and seconds to a date-time. Calendar parts use local wall time in the zone and clamp month ends (Jan 31 + 1 month = Feb 28/29). When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month e
date-betweenComputes the difference between two dates or date-times: calendar breakdown (years, months, days) plus totals in weeks, days, hours, minutes and seconds; sign indicates order. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: coun
age-calculateComputes the exact age in years, months and days on a reference date (required, for determinism), total days lived, and days until the next birthday (Feb 29 birthdays observed on Feb 28 in common years). When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends
duration-parseParses an ISO 8601 duration (e.g. P1Y2M3DT4H5M6S, PT90M, P2W) into components and total seconds (years = 365.2425 days and months = 30.436875 days, flagged as approximate). When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: formatt
duration-formatFormats a number of seconds as an ISO 8601 duration (days and time only), a compact string (1d 2h 3m 4s), a clock (26:03:04) and words in English or Spanish. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: parsing an ISO 8601 du
business-days-betweenCounts working days between two dates, excluding configurable weekend days and a list of holidays. By default counts days after start up to and including end; inclusive counts both ends. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). No
business-days-addAdds (or subtracts) N working days to a date, skipping configurable weekend days and given holidays; useful for due dates and SLAs. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: adding or subtracting N business days (co-busine
easter-sundayComputes Western (Gregorian computus) and Orthodox Easter Sunday for a year 1583-4099, plus related Western dates: Ash Wednesday, Palm Sunday, Holy Thursday, Good Friday, Ascension, Pentecost, Corpus Christi. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month
date-iso-weekConverts a date to its ISO 8601 week date (YYYY-Www-D) or an ISO week (year + week) to its Monday-Sunday date range; also reports weeks in that ISO year. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: describing a year and mont
month-infoDescribes a year and month: number of days, leap year, weekday of the first and last day, number of weekdays (Mon-Fri) and weekend days, and the quarter. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: returning a month as a gri
calendar-monthReturns a month as a grid of weeks (Monday or Sunday first) with ISO week numbers, suitable for rendering a calendar. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: describing a year and month (month-info). Side effects: none (
date-rangeLists dates from start to end (inclusive) stepping by days, weeks or months (month steps clamp to month end), up to 1,000 dates, optionally skipping weekends. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: computing the differe
date-relativeDescribes the time between an instant and a reference instant as a localized phrase via Intl.RelativeTimeFormat ("in 3 days", "hace 2 horas"), choosing the largest sensible unit. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: f
julian-dayConverts a UTC date-time to Julian Date, Modified Julian Date and Julian Day Number, or a Julian Date back to UTC. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for: computing sunrise, sunset and day length for a place and date (su
fiscal-periodComputes, for a date and the month the fiscal year starts, the fiscal year (named by its ending calendar year or its starting year), fiscal quarter, fiscal month and period bounds. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap years). Not for:
cron-explainValidates a 5-field cron expression (minute hour day-of-month month day-of-week; lists, ranges, steps, names, @daily-style macros) and describes it in English and Spanish, with the expanded field values. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends
cron-next-runsLists the next N (≤ 50) run times of a 5-field cron expression after a given instant, evaluated in an IANA time zone (DST-aware; non-existent local times are skipped). Searches at most 8 years ahead. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, le
sun-timesComputes the approximate sunrise, sunset, solar noon, civil twilight and day length for a latitude/longitude and date (astronomical formulas, about ±1-2 min), shown in UTC and a chosen time zone. When: a date, time-zone or calendar result has to be exact (offsets, daylight saving, month ends, leap y
moon-phaseComputes the approximate moon phase for an instant from the mean synodic month (29.530589 days) since the 2000-01-06 18:14 UTC new moon: age in days, illuminated fraction and phase name (en/es). Accuracy about ±1 day for names. When: a date, time-zone or calendar result has to be exact (offsets, day
base64-encodeEncodes text (UTF-8) or hex/base64 bytes as standard Base64 (RFC 4648 §4) with padding. When: bytes or text have to be converted to or from this encoding exactly, without guessing. Not for: decoding standard or URL-safe Base64 (base64-decode). Side effects: none (read-only, no network access, no sto
base64-decodeDecodes standard or URL-safe Base64 (padding optional, whitespace ignored) to UTF-8 text, hex or base64. Rejects characters outside the alphabet. When: bytes or text have to be converted to or from this encoding exactly, without guessing. Not for: encoding text (base64-encode). Side effects: none (r
base64url-encodeEncodes text or hex bytes as URL-safe Base64 (RFC 4648 §5: - and _ alphabet, no padding), as used in JWTs. When: bytes or text have to be converted to or from this encoding exactly, without guessing. Not for: decoding URL-safe Base64 (base64url-decode). Side effects: none (read-only, no network acce
base64url-decodeDecodes URL-safe Base64 (RFC 4648 §5, padding optional) to UTF-8 text, hex or base64. When: bytes or text have to be converted to or from this encoding exactly, without guessing. Not for: encoding text or hex bytes as URL-safe Base64 (base64url-encode). Side effects: none (read-only, no network acce
hex-encodeEncodes UTF-8 text (or base64 bytes) as lowercase or uppercase hexadecimal, with an optional separator between bytes. When: bytes or text have to be converted to or from this encoding exactly, without guessing. Not for: decoding hexadecimal (hex-decode). Side effects: none (read-only, no network acc
hex-decodeDecodes hexadecimal (case-insensitive; spaces, colons and 0x prefix ignored) to UTF-8 text or base64. When: bytes or text have to be converted to or from this encoding exactly, without guessing. Not for: encoding UTF-8 text (hex-encode). Side effects: none (read-only, no network access, no stored st
base32-encodeEncodes text or hex bytes as RFC 4648 Base32 (A-Z, 2-7) with optional padding, e.g. for TOTP secrets. When: bytes or text have to be converted to or from this encoding exactly, without guessing. Not for: decoding RFC 4648 Base32 (base32-decode). Side effects: none (read-only, no network access, no s