Convert an arbitrarily-long string from one numeric base to another, optionally zero-padding to a minimum column width.
No Matches

![Latest Stable Version] ![License]

Improved base_convert for PHP

PHP's base_convert function does not handle large numbers well. This library does, and can also optionally zero-pad to a minimum column width.

It is a drop-in replacement for base_convert, supporting base 2 through 36, and has additional features for padding and case.

The gmp and bcmath extensions are optionally used for improved performance.

Additional documentation about the library can be found on


// Using padding, outputs 01010
\\Wikimedia\\base_convert( 'a', '36', '2', '5' )

Running tests

composer install --prefer-dist
composer test


This library was first introduced in MediaWiki 1.7 (r14777), and overhauled in MediaWiki 1.21 (9b9daadc46). It was split out of the MediaWiki codebase and published as an independent library during the MediaWiki 1.27 development cycle.