Why this exists

Claims should be inspectable, not decorative

Z Tools uses small deterministic suites to verify behavior that matters to the public tools. The goal is reproducibility and error detection—not universal performance rankings.

7

Base64 size cases

Byte-for-byte inputs from 1 to 10,000 bytes show where padding makes the familiar “33% overhead” shorthand inaccurate.

7

JSON parser cases

Strict native parsing is checked against Unicode, BOM input, invalid escapes, large integers, trailing commas, and deep nesting.

11

Image codec settings

A deterministic 1200×800 fixture is encoded across JPEG, PNG, and WebP settings when the installed PHP GD build supports them.

Environment

What was actually measured

JavaScript reference run

Generated
August 28, 2026
Engine
Node.js/V8 JavaScript fallback
Node
v24.14.1
V8
13.6.233.17-node.44
Platform
linux x64

The timing rows below are Node/V8 Web Crypto reference measurements, not claims about Chrome, Safari, Firefox, or a visitor's device.

PHP image-codec run

Generated
August 28, 2026
Engine
PHP image codec verification
PHP
8.3.6
GD
Loaded
Codecs
JPEG ✓ · PNG ✓ · WebP ✓

Codec results are fixture-specific. They should not be read as promises that an arbitrary photograph or screenshot will achieve the same savings.

Base64

Padding changes small-input overhead

Read the byte-level explanation
Input bytesOutput charactersMeasured overheadExact padded length
1 4 +300.00% 4 × ceil(1 / 3) = 4
2 4 +100.00% 4 × ceil(2 / 3) = 4
3 4 +33.33% 4 × ceil(3 / 3) = 4
10 16 +60.00% 4 × ceil(10 / 3) = 16
100 136 +36.00% 4 × ceil(100 / 3) = 136
1,024 1,368 +33.59% 4 × ceil(1024 / 3) = 1368
10,000 13,336 +33.36% 4 × ceil(10000 / 3) = 13336

Method: deterministic raw byte buffers, encoded in the recorded JavaScript environment. The formula is defined by the 24-bit-to-four-symbol grouping used by padded Base64.

JSON

Native parser behavior matrix

Read the JSON edge-case guide
CaseParsedObserved result
valid-basic Yes object
trailing-comma No SyntaxError: Expected double-quoted property name in JSON at position 7 (line 1 column 8)
unicode Yes object
bom No SyntaxError: Unexpected token '', "{"a":1}" is not valid JSON
invalid-escape No SyntaxError: Bad escaped character in JSON at position 7 (line 1 column 8)
large-integer Yes object
nested-100 Yes array

A successful parse proves syntax validity only. It does not prove a business schema, field type, identifier precision, or authorization rule.

Hashing

Bounded SHA-2 reference timings

Read the hash decision guide
AlgorithmInputIterationsAverageMinMax
SHA-256 1,024 B 7 0.4564 ms 0.1498 ms 2.1298 ms
SHA-256 102,400 B 7 0.3575 ms 0.2238 ms 0.5594 ms
SHA-256 1,048,576 B 3 2.6693 ms 2.0531 ms 3.7226 ms
SHA-384 1,024 B 7 0.3704 ms 0.1218 ms 0.9719 ms
SHA-384 102,400 B 7 0.4101 ms 0.3438 ms 0.4780 ms
SHA-384 1,048,576 B 3 2.8131 ms 2.5594 ms 3.3160 ms
SHA-512 1,024 B 7 0.3029 ms 0.1586 ms 0.5230 ms
SHA-512 102,400 B 7 0.3652 ms 0.3302 ms 0.3870 ms
SHA-512 1,048,576 B 3 2.5974 ms 2.3187 ms 3.0251 ms

These numbers are useful for regression checks inside this project. They are not a cross-device benchmark and should not be used to choose a cryptographic algorithm by speed.

Accessibility

Known WCAG contrast pairs

Read the contrast methodology
ForegroundBackgroundRatioTool label
#000000 #FFFFFF 21.0000:1 AAA
#777777 #FFFFFF 4.4781:1 AA Large
#1F2937 #FFFFFF 14.6791:1 AAA
#FF5733 #FFFFFF 3.1517:1 AA Large
#0B57D0 #FFFFFF 6.3862:1 AA

Contrast ratio is one accessibility check. It does not evaluate semantics, focus states, typography, motion, reflow, or whether text qualifies for a large-text exception.

Image processing

Deterministic PHP GD fixture results

Read the image workflow guide
FormatSettingBaselineOutputSaved
JPEG quality-60 1,606,187 B 115,555 B 92.81%
JPEG quality-75 1,606,187 B 152,036 B 90.53%
JPEG quality-85 1,606,187 B 220,272 B 86.29%
JPEG quality-92 1,606,187 B 597,987 B 62.77%
PNG compression-3 2,885,501 B 44,512 B 98.46%
PNG compression-6 2,885,501 B 24,043 B 99.17%
PNG compression-9 2,885,501 B 16,118 B 99.44%
WebP quality-60 295,832 B 97,482 B 67.05%
WebP quality-75 295,832 B 116,624 B 60.58%
WebP quality-85 295,832 B 171,876 B 41.90%
WebP quality-92 295,832 B 219,396 B 25.84%

The synthetic fixture makes runs diffable, but it is intentionally not presented as a representative photo corpus. Real images vary dramatically by texture, noise, transparency, source encoder, and target dimensions.

Case conversion

Identifier-splitting edge cases

InputDetected wordssnake_case output
XMLParser2 test-value XML · Parser2 · test · value xml_parser2_test_value
helloWorld hello · World hello_world
API_response-code API · response · code api_response_code
iPhone 15 Pro i · Phone · 15 · Pro i_phone_15_pro
café déjàVu café · déjàVu café_déjàvu
Methodology boundary

No public “run benchmark” button

The benchmark scripts stay in a server-blocked development directory. This page only renders committed results so a visitor cannot turn the site into a CPU, memory, or codec stress endpoint. When an environment changes, results must be rerun offline and committed with the new environment metadata.