Featured
MediaWikiPHP, JS
The collaborative editing engine that runs Wikipedia.
VisualEditorJS
Rich text visual editor for the browser with a MediaWiki integration. WYSIWYG, based on HTML5+RDFa and ContentEditable.
Localisation
banana-i18nJS, Vue, React
Internationalization library that uses "banana" format - A JSON based localization file format.
Bcp47CodePHP
A simple interface representing a language object which can be represented by a BCP 47 code.
CLDRPluralRuleParserPHP
Parse CLDR plural rules from Unicode.
CSSJanusJS
Convert stylesheets from left-to-right to right-to-left.
jQuery.i18nJS
Interface text localisation with support for CLDR plural rules, language fallbacks, Banana JSON files, and more.
language-dataJS, PHP
Language related data based on CLDR and utility libraries to interact with that data
php-cssjanusPHP
Convert stylesheets from left-to-right to right-to-left. (PHP port)
UnicodeJSJS
String manipulation based on Unicode standard word breaks, graphemes, and character classes.
utfnormalPHP
Unicode normalization routines to produce NFC/UTF-8 strings.
User experience
CodexJS, 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 TokensCSS, Less, Sass, JSON
Stylesheets in various flavors and JSON containing Wikimedia Design style values.
Codex IconsSVG, Less
Codex icons in 'WikimediaUI' theme style as Less vars with SVG paths for Vue 3 apps.
OOUIJS, PHP
Rapidly create web-applications in JS or PHP. Cross-browser, i18n and a11y ready.
Apps
Who Wrote ThatJS
Explore authorship and revision informationon Wikipedia with this browser app.
Wikipedia for AndroidJava
The official Wikipedia app.
Wikipedia for iOSSwift
The official Wikipedia app.
Libraries
AhoCorasickPHP
Efficient searching for multiple keywords in a string using the Aho-Corasick algorithm.
AleaPHP
Pure PHP port of the JavaScript alea.js seedable pseudo-random number generator library.
AssertPHP
Run-time assertions for parameter types, preconditions and postconditions.
at-easePHP
Safe alternative to PHP's error-control operator.
base-convertPHP
Convert arbitrarily-length strings from one numeric base to another.
CDBPHP
Fast and highly reliable key-value database file format.
CommonPasswordsPHP
A list of common passwords implemented to provide NIST best practices of preventing usage of the 100,000 most used passwords.
css-sanitizerPHP
CSS parser in pure PHP to transform or filter stylesheets.
DeadlinkCheckerPHP
A PHP library for checking if a given url is dead or alive
DodoPHP
DOm DOcument implementation in pure PHP
EquivsetPHP
Detect visually similar UTF-8 characters, partially based on Unicode Confusables.
HtmlFormatterPHP
Transformations for MediaWiki HTML output, based on libxml2.
IDLeDOMPHP
DOM interfaces generated from WebIDL
IPSetPHP
Efficient matching of IP addresses against CIDR specifications.
IPUtilsPHP
Parsing and formatting of IPv4/IPv6 addresses and CIDR ranges.
jQuery ClientJS
A minimal user-agent parser for client-side JavaScript.
JsonCodecPHP
Interfaces to serialize and deserialize PHP objects to/from JSON
LangConvPHP
FST-based implementation of language and script conversion.
MinifyPHP
Minification of JavaScript code and CSS stylesheets.
mwbot-rsRust
framework for writing MediaWiki bots and tools in Rust
mwseaqlRust
MediaWiki table definitions for sea-ql
NormalizedExceptionPHP
A minimal library to facilitate PSR-3-friendly exception handling
oauthclient-php
OAuth client for Wikipedia and other MediaWiki sites.
ObjectFactoryPHP
Construct objects based on a static description.
OOjs RouterJS
phan-taint-check-pluginPHP
A Phan plugin meant to use static analysis to find certain types of security vulnerabilities in PHP code
php-session-serializerPHP
Provides methods that work like PHP's session_encode and session_decode functions but don't mess with the $_SESSION superglobal.
PurtlePHP
Fast streaming RDF serializer for PHP.
RelPathPHP
Compute the relative path between two file paths.
RemexHtmlPHP
Fast HTML5 parser in pure PHP.
RequestTimeoutPHP
Provides a global request timeout concept, ideally using Excimer, with a fallback to set_time_limit()
RunningStatPHP
Compute statistics for a stream of numbers using only constant space.
ScopedCallbackPHP
Invoke a callback automatically after an object goes out of scope.
ServicesPHP
Generic service container to manage named services using lazy instantiator callbacks.
TextCatPHP
PHP port of the TextCat language guesser utility
WaitConditionLoopPHP
Poll a condition and manage code execution between checks.
WebIDLPHP
Parser for Web IDL, a language to specify web APIs in interoperable way
Wikimedia SlimAppPHP
XMPReaderPHP
ZestPHP
Port of the zest.js CSS selector library
Infrastructure
Arc LampPython, PHP
Gather stack traces from a PHP 7 app with Excimer and publish them as flame graphs and trace logs.
BlubberGo
BuildKit frontend for building application container images from a minimal set of declarative constructs in YAML.
coalPython
Process performance beacons and submit moving medians directly to Graphite.
docker-pkgPython
Manage creation and updating of Docker images in a unified way.
ExcimerC, PHP
Low-overhead interrupting timer and sampling profiler for PHP.
homer-publicYAML, Jinja2
Configuration files for Homer (configuration manager for network devices).
less.phpPHP
Less processor for PHP.
LuaSandboxC, PHP
Safely execute untrusted Lua 5.1 code, natively from PHP or HHVM.
MediaWiki-VagrantPuppet
Portable MediaWiki development environment.
PipelineLibGroovy
Container-based CI workflow specification and task runner.
PoolCounterC
Lock manager service which provides mutex-like functionality, with a limited wait queue length.
Puppet
Server provisioning and configuration for Wikimedia Foundation production.
RESTBase
ScapPython
The deployment tool used by Wikimedia Foundation.
SpicerackPython
Task orchestration framework, based on Cumin.
SRE CookbooksPython
Collection of Spicerack cookbooks for WMF production infrastructure.
transferpyPython
Tool that can move large files over the network and backup mariadb servers.
Wikidata Query ServiceJava
wikidiff2C, PHP
Fast diff engine for MediaWiki.
wmflibPython
Generic Python library for common tasks in the WMF production infrastructure.
Testing
eslint-config-wikimediaJS
JavaScript style guide for Wikimedia software.
eslint-plugin-mediawikiJS
ESLint rules for MediaWiki-specific JavaScript idioms.
eslint-plugin-no-jqueryJS
Control allowance of certain jQuery functions, and suggest or autofix alternatives.
FresnelJS
Measure and compare performance of web pages.
grunt-stylelintJS
Stylelint adapter for the Grunt task runner.
MediaWiki API testingJS
A library for end-to-end integration tests of MediaWiki APIs
testing-access-wrapperPHP
Convenient shortcuts for accessing protected or private properties and methods.
MediaWiki components
EventLogging
GrowthExperiments
Kartographer
Add map capabilitity to wiki pages.
MinervaNeue skin
MultimediaViewerJS
TemplateData
TimedMediaHandlerJS
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.orgHTML
Dashboards and data downloads for Wikimedia projects.
Analytics API Documentation
Open access to data about Wikipedia and other Wikimedia projects.
Microsites
www.wikipedia.orgHTML
Portal for Wikipedia.org and other Wikimedia projects.