Open main menu


(Redirected from Wikidata:Quickstatements)
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎svenska • ‎беларуская (тарашкевіца)‎ • ‎русский • ‎українська • ‎հայերեն • ‎العربية • ‎മലയാളം • ‎中文 • ‎日本語

Icon used on Commons by templates that upload to Wikidata using QuickStatements
Eggbeater stencil narrow.svg
2019 Coolest Tool Award Winner
in the category

QuickStatements (QS) is a tool that can edit Wikidata items, based on a simple set of text commands. The tool can add and remove statements, labels, descriptions, and aliases; as well as add statements with optional qualifiers and sources. The command sequence can be typed in the import window or created in a spreadsheet, text editor and pasted in. It can also be created by external code like Lua called from a template and passed as URL. Data edited in OpenRefine can also be exported to QuickStatements format.

The toolsEdit

There are several QuickStatements versions available:

Command sequence syntaxEdit

Add simple statementEdit

You can specify the statements to add by typing/pasting one row per statement into the tool's text area. Different parts of the statement are separated by a TAB character, or in QuickStatements version 2 may also by "|". Each command is on a new line, or in QuickStatements version 2 may also be separated by "||". Hint: You can also use a spreadsheet software such as Excel or LibreOffice Calc; copying/pasting the cells should automatically insert TABs. Also text editors like Notepad++ allow replacement of any symbol by TAB character.

Each statement must consist of an entity, a property, and a value. An entity can be an item, a property, a lexeme, a form, or a sense. A value can be another entity, a string, a time, a location, or a quantity, depending on the property type, or one of the special values somevalue or novalue (see Help:Statements#Unknown or no values).

Formatting of each part:

  • Items are always in the form Qxx. In QuickStatements version 1 one could use an article name instead of the q-code, if one filled in a xxwiki value in the input box above the text area; the correct item number (if available) was retrieved automatically.
    Example: Q4115189 TAB P31 TAB Q1
    Meaning: add to Wikidata Sandbox (Q4115189) instance of (P31) Universe (Q1)
  • Properties in the form Pxx.
  • Lexemes in the form Lxxx.
  • Forms in the form Lxxx-Fyy.
  • Senses in the form Lxxx-Syy.
  • Strings (including URLs, and numerical values of text fields, for example external-ID property values) must be in "double quotes". Many statements take values in string format, including external identifiers (like VIAF ID (P214)), filenames (like image (P18)) or other page names (like Commons category (P373)).
    Example: Q41576278 TAB P373 TAB "Antoni Ignacy Mietelski"
    Meaning: add to Antoni Ignacy Mietelski (Q41576278) Commons category (P373) Antoni Ignacy Mietelski
    Caution: Some characters in the string seem to confuse the tool. Those include: "_" (underscore), " (double quote), " " (spaces), "=", and possibly more. Adding URLs with those characters, like this one or this might fail. String and URLs with those characters might work when interacting with the tool through the interface but fail when interacting through URL.
  • Monolingual text prefix text in "double quotes" with the language and a colon, e.g. en:"Some text"
    Example: Q1214098 TAB P1476 TAB pl:"Krzyżacy"
    Meaning: add to The Knights of the Cross (Q1214098) title (P1476) "Krzyżacy" (Polish)
  • Time values must be in format eg +1967-01-17T00:00:00Z/11, where /11 designates the precision. The precision is: 0 - billion years, 1 - hundred million years, ..., 6 - millennium, 7 - century, 8 - decade, 9 - year (default), 10 - month, 11 - day, 12 - hour, 13 - minute, 14 - second.
    Example: Q41576483 TAB P569 TAB +1839-00-00T00:00:00Z/9
    Meaning: add to Bronisław Podbielski (Q41576483) date of birth (P569) +1839
    Use "-" for dates BC; and use at least 4 digits.
  • Location coordinates in the form of @LAT/LON, with LAT and LON as decimal numbers.
    Example: Q3669835 TAB P625 TAB @043.26193/010.92708
    Meaning: add location to San Dalmazio (Q3669835)
  • Quantity in the form of amount~toleranceUxx (amount[lower,upper]Uxx in QuickStatements version 1), with amount, tolerance, lower and upper being a rational number and Uxx being the item number of a unit (Qxx).
    unit is optional.
    tolerance is optional.
    lower, upper are optional. lower and upper must be either both present or not present at all. When present, they should be enclosed in square brackets and separated by ,
    amount, lower and upper must use . as decimal separator, must not use any thousands separator and may be prefixed by + or -.
    Don't leave any space in the quantity.
    10, 10U11573, -10[-12.5,-7.5], 0[-5,5]U11573 are all valid quantities (where U11573 indicates metre (Q11573))
    Quantities with tolerance may be entered as 1.2~0.3 (in QuickStatements version 2), which is the same as 1.2[0.9,1.5] (in QuickStatements version 1) and means 1.2±0.3. Note that due to the way computers operate with floating-point numbers the input format of version 2 may produce undesired results when working with decimal numbers.
  • somevalue for unknown value Help
  • novalue for no value Help

Add statement with qualifiersEdit

Each statement "triplet" can be followed by an unlimited number of "qualifiers pairs" of property TAB value.

Example: Q41577083 TAB P570 TAB +1586-00-00T00:00:00Z/7 TAB P1319 TAB +1586-00-00T00:00:00Z/9
Meaning: add to Gian Federigo Bonzagna (Q41577083) date of death (P570) 16. century / earliest date (P1319) +1586

Add statement with sourcesEdit

Each statement can be followed by an unlimited number of "source pairs" of source property TAB value. The source property is identical to the "normal" property, except it uses the form Sxx instead of Pxx.

Example: Q22124656 TAB P21 TAB Q6581097 TAB S143 TAB Q24731821 TAB S813 TAB +2017-10-04T00:00:00Z/11
Meaning: add to Gotô Ichijô (Q22124656) sex or gender (P21) male (Q6581097) with reference imported from Wikimedia project (P143) Commons Creator page (Q24731821) / retrieved (P813)


  • Existing statements with an exact match (property and value) will not be added again; however additional references might be added to the statement.
  • In QuickStatements version 1 each source claim represented an individual reference, i.e. they were not grouped within one reference; it works properly now in QuickStatements version 2.

Adding labels, aliases, descriptions and sitelinksEdit

As with adding simple text statements, each command must consist of an item, a command, and a string in double quotes.

  • To add a label in a specific language to an item, use "Lxx" instead of a property, with "xx" as the language code.
    Example: Q340122 TAB Lpl TAB "Cyprian Kamil Norwid"
    Meaning: add Polish label "Cyprian Kamil Norwid" to Cyprian Norwid (Q340122)
  • To add an alias in a specific language to an item, use "Axx" instead of a property, with "xx" as the language code.
    Example: Q340122 TAB Aen TAB "Cyprjan Kamil Norwid"
    Meaning: add English alias "Cyprjan Kamil Norwid" to Cyprian Norwid (Q340122)
  • To add a description in a specific language to an item, use "Dxx" instead of a property, with "xx" as the language code.
    Example: Q340122 TAB Dde TAB "polnischer Dichter"
    Meaning: add German description "polnischer Dichter" to Cyprian Norwid (Q340122)
  • To add a sitelink to a specific page on a site to an item, use "Sxxx" instead of a property, with "xxx" as the site (e.g. enwiki, commonswiki).
    Example: Q340122 TAB Szhwiki TAB "塞浦路斯·諾爾維特"
    Meaning: add sitelink to Chinese Wikipedia (塞浦路斯·諾爾維特) to Cyprian Norwid (Q340122)

If you want to remove a label/description/sitelink, the value has to be an empty string and the rest of the command will be the same.

Item creationEdit

You can create new items by inserting a line consisting only of the word "CREATE". To add statements to the newly created item, use the word "LAST" instead of the Q number, and the statement will be added to the last created item.

An example for creating a new item, adding a sitelink, and setting a label:

LAST TAB Sfrwiki TAB "Le croissant magnifique!"
LAST TAB Lfr TAB "Le croissant magnifique!"
Meaning: create a new item with a link to French Wikipedia w:fr:Le croissant magnifique! and with French label "Le croissant magnifique!"

Item mergingEdit

You can merge two items. The first item will be merged and (if successful) redirected into the second item.

MERGE TAB Qsource TAB Qdestination

Removing statementsEdit

You can remove specific statements by prefixing a line with "-".

Example: -Q4115189 TAB P31 TAB Q1
Meaning: remove from Wikidata Sandbox (Q4115189) instance of (P31) Universe (Q1)


Every command can have a comment at its end, which will be inserted into the edit summary for the command. Use the /* ... */ syntax. Before this a TAB may be inserted. Spaces around the comment will be removed from the command before processing. The tool splits adding of a claim and its reference in two edits. When using the "version 1 format" import it seems not to be possible to add a comment for the edit adding the reference. The comment is added to the edit adding the claim (if the claim does not exist yet and is added at all).

Example: Q4115189 TAB P31 TAB Q1 /* This is a comment. There are many others like it, but this one is mine. */
Meaning: add to Wikidata Sandbox (Q4115189) instance of (P31) Universe (Q1), with "This is a comment. There are many others like it, but this one is mine." in the edit summary.

Sample for use with LibreOffice:

string (input)language (input)itempropertyvalue (monolingual dataype)
Gode vibrationerdaQ12314076P1476=B2&":"""&A2&""""

CSV file syntaxEdit

  This page or section is in the process of an expansion or major restructuring. You are welcome to assist in its construction by editing it as well.

In QuickStatements version 2, one can also cut and paste a properly structured CSV file as an alternative to the syntax introduced in QuickStatements version 1. The CSV file will specify commands to execute. The first row is a header describing how the columns are interpreted.

The other columns may specify the following commands:

A property ID (uppercase) begins a new statement. The column value specifies the main value of the statement, in QuickStatements version 1 syntax.
A lowercase "qal" followed by a property number (without "P") adds a qualifier to the current statement. The column value specifies the value of the qualifier, in QuickStatements version 1 syntax. There must be some "P" column before a "qal" column to specify which statement the qualifier is added to.
An uppercase "S" followed by a property number (without "P") begins a new source for the current statement. The column value specifies the value of the source, in QuickStatements version 1 syntax. There must be some "P" column before an "S" column to specify which statement the source is added to.
A lowercase "s" followed by a property number (without "P") adds another property-value pair to the current source. The column value specifies the value of the source, in QuickStatements version 1 syntax. There must be some "S" column before an "s" column to specify which source the property-value pair is added to.
An uppercase "L" followed by a language code sets the label in that language.
An uppercase "D" followed by a language code sets the description in that language.
An uppercase "A" followed by a language code adds an alias in that language.
An uppercase "S" followed by a site ID adds a sitelink to that site.
A number sign character sets the edit summary (comment) of the preceding command. The tool splits adding of a claim and its reference in two edits. A comment can be added to the edit summary of each of them. For the claim by putting a "#" column between the columns for the claim and its reference, for the reference by putting a "#" column behind its columns. For example:
Q22124656,Q6581097,comment to claim adding edit,Q24731821,+2017-10-04T00:00:00Z/11,comment to reference adding edit

Statement column headers may also begin with - to remove the statement. (Note that this is only valid in the header for the whole column, not in individual values.) Removing other column types is not yet supported and will result in an error when the command is run; however, sitelinks and labels can be removed by setting them to the empty string (without - in the column header).

For example
Q42,Douglas Adams,author,Douglas Noël Adams,Q5,Q36180,Q6581097,Q463035,1,Q54919,113230702,Q328,Douglas Adams

To create a new item, the first element of the row needs to be empty, so the line starts with a ,.

For example
,Regina Phalange,fictional character,Q5

The double quotes for string values seem to interfere with CSV syntax. Empirically four double quotes before and one after the string have been found to work. Sometimes three double quotes before and three double quotes after work instead.

For example
For example

creates a new item. Suitable for LibreOffice

Mona Lisa - the Louvre.jpgMona Lisaoil painting by Leonardo da Vinci=",Q3305213,"""&B2&""","""&C2&""","""""""&A2&""""""""

Running QuickStatementsEdit

Using QuickStatements version 2Edit

Here is how to use QuickStatements (version 2) in basic mode:

  1. Go to
  2. Make sure you are logged in OAuth and your name is visible in the upper right corner. If not then log in.
  3. Click "New batch".
  4. Cut and paste your commands. See the syntax in the section above.
  5. When you are done, click "Import V1 commands" or "Import CSV commands".
  6. The tool will convert your commands into human-readable form. Inspect them and click "Run" to execute.
  7. As your statements are being processed, double-check the results, and press "Stop" if you detect a problem.
  8. The user interface will tell you when all statements have been processed.

Using QuickStatements version 1Edit

Screenshot of using QuickStatements version 1

QuickStatements version 1 is still available, but no longer maintained. It stopped working for some users, while still working fine for others. NIOSH's fork of the tool is also available.

  1. Go to
  2. Cut and paste your commands into the window
  3. Click "Do it!"
  4. The user interface will tell you when all statements have been processed.

Using QuickStatements version 2 in batch modeEdit

When to use batch mode?Edit

QuickStatements version 2 has "Run in the background" button

Note: QuickStatements V2 has a new interface, for the new interface parts of the following doesn't apply any more!

Batch mode (also known as running in the background) means your statements are executed from a Wikimedia server, rather than from your Web browser. This has several advantages:

  • Even if you close your browser or if your computer crashes, the statements will be executed until the last one.
  • You can launch several batches in parallel, without slowing down your computer.
  • You get a unique URL for your batch, to which you can refer later. This page shows some statistics about your run.
  • You or an admin can stop your batch by going to this URL. For instance, if it is realized that your batch is erroneous and you are sleeping, an admin can stop it immediately (by going to the individual batch page), rather than having to block you.

But there are also drawbacks:

  • It takes a few more clicks, so as a rule of thumb if you only have 10 or fewer statements, then better run them in normal mode.
  • Depending on how busy the server is it might take a time for your batch to start so that checking the results might not be possible immediately.

Prior to , batch edits would also be made as User:QuickStatementsBot instead of as the user submitting the batch.

Before running a batch, it can be a good idea to run a few commands directly in non-batch mode to get a good view of what is being done.

Using batch modeEdit

  1. Prepare your statement normally as described in Using QuickStatements version 2 section above
  2. Instead of pressing "Run", press "Run in background" button.
  3. "Your last batches" will show a list of the most recent batches run by you, with statistics.

The following statistics values are available:

  • DONE: The number of statements that were successful run
  • ERROR: The number of statements that failed
  • INIT: The number of statements left to run
  • RUN: The number of statements being run right now

Running QuickStatements through URLEdit

An alternative way of communicating with QuickStatements is to use URL instead of cutting and pasting commands into import window. That approach worked for QuickStatements V1 and original V2, but no longer works in V2 rewrite. For example in original original V2, if we import Q37887397 TAB P214 TAB "96480189" TAB S143 TAB Q565 statement using cut-and-past method (image #1 below), it will show the parsed statement and in URL field QS will show https: //"96480189"%09S143%09Q565 or (image #2 below)(Statement is to add to Emile Justin Merlot (Q37887397) VIAF ID (P214) "96480189" with source imported from Wikimedia project (P143) Wikimedia Commons (Q565)). Creating the URL through some other means can skip the initial step. Many templates on Commons, like c:Template:Creator or c:Template:Authority control use that technique to package information that can be imported to Wikidata into a clickable URL.


  • URL cannot have any spaces. Replace TAB with "%09", double quote with "%22", space with "%20", end-of-line with "%0A", and slash "/" with "%2F".
  • Statements with URL inputs that have "_" or " " can be added through regular interface but not through URL. For example this URL was produced by the tool and it works; however if you click or cut-and-paste it you will end up on a page with slightly different URL, which does not work.
  • [[File:Commons to Wikidata QuickStatements.svg|20px|link=]] will encode the URL within a handy clickable icon:   (click it but do not click "run"; pressing it will not work since that item already has that property).
  • Pages with QuickStatements URLs may be located through Special:LinkSearch (see here) or through a database query calling externallinks table (see for example here).


QuickStatements version 2 currently cannot:

  • set ranks for statements
  • set comments when removing statements
  • specify calendar for a date statement
  • specify precision or globe for a location statement
  • add URLs with some characters like "_" or "="
  • add statements to redirected items
  • add second statement with the same property and value but with different qualifiers, since additional qualifiers will be added to the first statement
  • remove qualifier or reference only (without removing statement itself) and aliases
  • update badges
  • create lexemes

Note that for using QuickStatements an account needs to be autoconfirmed.


Can QuickStatements add reference statements with more than one claim?
Yes, current QuickStatements can add references that have for example both imported from Wikimedia project (P143) and retrieved (P813) (see here) or both stated in (P248) and page(s) (P304).
How do I experiment with QuickStatements?
Use Wikidata Sandbox (Q4115189).
How do I report issues with the tool.
Check with other users at the talk page or at Wikidata:Project chat. Confirmed bugs should be reported on Phabricator.
Where do I suggest new features?
You can ask at tool's Bitbucket page or at User:Magnus Manske/quick statements2, but be aware that we keep Magnus busy!
What is the maximum number of commands I can enter at once?
Not documented. It was already tested with over 11,000 commands. But note that such large batch runs will take several hours to complete.

Best practicesEdit

  • QuickStatements allows edits ranging from single statement to multi-thousand-item batch runs. Very large runs or potentially-controversial runs should go through approval process described in Wikidata:English.
  • Users should avoid creating duplicate items.
  • All statements should have references as per Help:Sources. That might be less important for identifiers, like VIAF ID (P214) or RKDartists ID (P650), etc.
  • Users doing the edits are responsible for fixing or undoing their changes if issues are found. See about statement removal.

See alsoEdit