Featured
MediaWiki PHP, JS
The collaborative editing engine that runs Wikipedia.
VisualEditor JS
Rich text visual editor for the browser with a MediaWiki integration. WYSIWYG, based on HTML5+RDFa and ContentEditable.
Localisation
banana-i18n JS, Vue, React
Internationalization library that uses "banana" format - A JSON based localization file format.
Bcp47Code PHP
A simple interface representing a language object which can be represented by a BCP 47 code.
CLDRPluralRuleParser PHP
Parse CLDR plural rules from Unicode.
CSSJanus JS
Convert stylesheets from left-to-right to right-to-left.
jQuery.i18n JS
Interface text localisation with support for CLDR plural rules, language fallbacks, Banana JSON files, and more.
language-data JS, PHP
Language related data based on CLDR and utility libraries to interact with that data
php-cssjanus PHP
Convert stylesheets from left-to-right to right-to-left. (PHP port)
UnicodeJS JS
String manipulation based on Unicode standard word breaks, graphemes, and character classes.
utfnormal PHP
Unicode normalization routines to produce NFC/UTF-8 strings.
User experience
Codex JS, Vue, CSS
Design and build accessible and internationalization-ready user interfaces with the Wikimedia Design System. Features Vue 3 and CSS-only components.
Codex Design Tokens CSS, Less, Sass, JSON
Stylesheets in various flavors and JSON containing Wikimedia Design style values.
Codex Icons SVG, Less
Codex icons in 'WikimediaUI' theme style as Less vars with SVG paths for Vue 3 apps.
Codex PHP (Beta) PHP
A PHP library for generating Codex CSS-only component markup using a builder-based methodology.
OOUI JS, PHP
Rapidly create web-applications in JS or PHP. Cross-browser, i18n and a11y ready.
Apps
Who Wrote That JS
Explore authorship and revision informationon Wikipedia with this browser app.
Wikipedia for Android Java
The official Wikipedia app.
Wikipedia for iOS Swift
The official Wikipedia app.
Libraries
AhoCorasick PHP
Efficient searching for multiple keywords in a string using the Aho-Corasick algorithm.
Alea PHP
Pure PHP port of the JavaScript alea.js seedable pseudo-random number generator library.
Assert PHP
Run-time assertions for parameter types, preconditions and postconditions.
at-ease PHP
Safe alternative to PHP's error-control operator.
base-convert PHP
Convert arbitrarily-length strings from one numeric base to another.
CDB PHP
Fast and highly reliable key-value database file format.
CommonPasswords PHP
A list of common passwords implemented to provide NIST best practices of preventing usage of the 100,000 most used passwords.
css-sanitizer PHP
CSS parser in pure PHP to transform or filter stylesheets.
DeadlinkChecker PHP
A PHP library for checking if a given url is dead or alive
Dodo PHP
DOm DOcument implementation in pure PHP
Equivset PHP
Detect visually similar UTF-8 characters, partially based on Unicode Confusables.
HtmlFormatter PHP
Transformations for MediaWiki HTML output, based on libxml2.
IDLeDOM PHP
DOM interfaces generated from WebIDL
IPSet PHP
Efficient matching of IP addresses against CIDR specifications.
IPUtils PHP
Parsing and formatting of IPv4/IPv6 addresses and CIDR ranges.
jQuery Client JS
A minimal user-agent parser for client-side JavaScript.
JsonCodec PHP
Interfaces to serialize and deserialize PHP objects to/from JSON
LangConv PHP
FST-based implementation of language and script conversion.
Minify PHP
Minification of JavaScript code and CSS stylesheets.
mwbot-rs Rust
framework for writing MediaWiki bots and tools in Rust
mwseaql Rust
MediaWiki table definitions for sea-ql
NormalizedException PHP
A minimal library to facilitate PSR-3-friendly exception handling
oauthclient-php
OAuth client for Wikipedia and other MediaWiki sites.
ObjectFactory PHP
Construct objects based on a static description.
OOjs Router JS
phan-taint-check-plugin PHP
A Phan plugin meant to use static analysis to find certain types of security vulnerabilities in PHP code
php-session-serializer PHP
Provides methods that work like PHP's session_encode and session_decode functions but don't mess with the $_SESSION superglobal.
Purtle PHP
Fast streaming RDF serializer for PHP.
RelPath PHP
Compute the relative path between two file paths.
RemexHtml PHP
Fast HTML5 parser in pure PHP.
RequestTimeout PHP
Provides a global request timeout concept, ideally using Excimer, with a fallback to set_time_limit()
RunningStat PHP
Compute statistics for a stream of numbers using only constant space.
ScopedCallback PHP
Invoke a callback automatically after an object goes out of scope.
Services PHP
Generic service container to manage named services using lazy instantiator callbacks.
Shellbox PHP
Web service for containerized shell execution.
TextCat PHP
PHP port of the TextCat language guesser utility
WaitConditionLoop PHP
Poll a condition and manage code execution between checks.
WebIDL PHP
Parser for Web IDL, a language to specify web APIs in interoperable way
Wikimedia SlimApp PHP
XMPReader PHP
Zest PHP
Port of the zest.js CSS selector library
Infrastructure
Arc Lamp Python, PHP
Gather stack traces from a PHP 7 app with Excimer and publish them as flame graphs and trace logs.
Blubber Go
BuildKit frontend for building application container images from a minimal set of declarative constructs in YAML.
coal Python
Process performance beacons and submit moving medians directly to Graphite.
docker-pkg Python
Manage creation and updating of Docker images in a unified way.
Excimer C, PHP
Low-overhead interrupting timer and sampling profiler for PHP.
homer-public YAML, Jinja2
Configuration files for Homer (configuration manager for network devices).
less.php PHP
Less processor for PHP.
LuaSandbox C, PHP
Safely execute untrusted Lua 5.1 code, natively from PHP or HHVM.
MediaWiki-Vagrant Puppet
Portable MediaWiki development environment.
PipelineLib Groovy
Container-based CI workflow specification and task runner.
PoolCounter C
Lock manager service which provides mutex-like functionality, with a limited wait queue length.
Puppet
Server provisioning and configuration for Wikimedia Foundation production.
RESTBase
Scap Python
The deployment tool used by Wikimedia Foundation.
Spicerack Python
Task orchestration framework, based on Cumin.
SRE Cookbooks Python
Collection of Spicerack cookbooks for WMF production infrastructure.
transferpy Python
Tool that can move large files over the network and backup mariadb servers.
Wikidata Query Service Java
wikidiff2 C, PHP
Fast diff engine for MediaWiki.
wmflib Python
Generic Python library for common tasks in the WMF production infrastructure.
Testing
eslint-config-wikimedia JS
JavaScript style guide for Wikimedia software.
eslint-plugin-mediawiki JS
ESLint rules for MediaWiki-specific JavaScript idioms.
eslint-plugin-no-jquery JS
Control allowance of certain jQuery functions, and suggest or autofix alternatives.
Fresnel JS
Measure and compare performance of web pages.
grunt-stylelint JS
Stylelint adapter for the Grunt task runner.
MediaWiki API testing JS
A library for end-to-end integration tests of MediaWiki APIs
testing-access-wrapper PHP
Convenient shortcuts for accessing protected or private properties and methods.
MediaWiki components
CodeMirror JS, PHP
Syntax highlighting for MediaWiki editors
EventLogging
GrowthExperiments
Kartographer
Add map capabilitity to wiki pages.
MinervaNeue skin
MultimediaViewer JS
TemplateData
TimedMediaHandler JS
Allows you to display audio and video files in wiki pages
Wikibase
The knowledge base for linked open data that runs Wikidata.org.
WikiLambda
Letting users create, manage, and evaluate functions on a wiki, wikifunctions.org.
- Project homepage
- Source code (MW extension)
- Code documentation (MW JS)
- Code documentation (MW PHP)
- Test coverage (MW JS)
- Test coverage (MW PHP)
- Source code (orchestrator)
- Test coverage (orchestrator)
- Source code (evaluator)
- Test coverage (evaluator)
- Source code (shared schemata)
- Test coverage (shared schemata)
Analytics
analytics.wikimedia.org HTML
Dashboards and data downloads for Wikimedia projects.
Analytics API Documentation
Open access to data about Wikipedia and other Wikimedia projects.
Microsites
www.wikipedia.org HTML
Portal for Wikipedia.org and other Wikimedia projects.