Registry entry
South Africa Online Voter Registration (IEC VoterPortal)
Register as a voter, or update an existing registration's address, on the Electoral Commission of South Africa's (IEC) online self-registration platform at registertovote.elections.org.za, ahead of the 2026 local government elections. This is South Africa's first GovSchema entry for the National ID & Civic Documents vertical's voter-registration process, closing the last jurisdiction (of the 13 this registry covers) without one — all others already have a published voter-registration schema, or (Singapore) a documented non-applicability finding. Models the 'Register to vote in-country' pathway for an ordinary resident citizen registering for the first time or updating their registered address: identity verification by South African ID number plus a photo/scan of the ID document, contact details with one-time-PIN (OTP) confirmation, and residential-address capture. It does not model: the separate 'Apply for a special vote' or 'special vote application status' pathways offered by the same portal (distinct transactions, for voters who cannot attend their voting station on election day); registering to vote from outside South Africa (a distinct national-election-only, out-of-country process with its own eligibility window); or in-person registration at an IEC office or during a registration weekend, which uses the same underlying data but a handheld-device capture process with no public field-by-field specification. It does not submit the application; the live registertovote.elections.org.za service is always authoritative — see VERIFICATION.md.
Registry entry
za/iec/voter-registration
Machine access
- Schema document
registry/za/iec/voter-registration/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/za/iec/voter-registration/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
9 fields across 3 steps, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Identity verification
-
idNumberstring required13-digit South African ID number, from a green barcoded ID book, smart ID card, or valid Temporary Identity Certificate.
patternclassification: pii -
eligibilityDeclarationboolean requiredUnder section 97 of the Electoral Act 73 of 1998, it is a criminal offence to provide false information, and an offence to register on behalf of a voter or use their details without their prior consent (impersonation under section 88).
-
idDocumentPhotofile requiredA photo or copy of the green barcoded ID book, smart ID card, or valid Temporary Identity Certificate, with the ID barcode clearly visible. Best uploaded from the device's camera roll/gallery rather than taken live in-app.
Personal and contact details, OTP confirmation
-
firstNamesstring requiredAs it appears on the applicant's South African ID document. The live screen where this is entered or confirmed is gated behind a valid, registered ID number and was not reached this cycle — see VERIFICATION.md.
length: 1–120classification: pii -
surnamestring requiredAs it appears on the applicant's South African ID document. The live screen where this is entered or confirmed is gated behind a valid, registered ID number and was not reached this cycle — see VERIFICATION.md.
length: 1–120classification: pii -
cellphoneNumberstring requiredUsed to send the one-time PIN (OTP) that confirms this registration, and for the IEC to contact the applicant for electoral purposes.
length: 1–20classification: pii -
emailAddressstring optionalOptional contact detail; the IEC does not release it to the public.
length: 0–254classification: pii -
otpCodestring requiredOne-time PIN sent to the applicant's cellphone number, entered to confirm the registration.
length: 4–8
Address details
-
residentialAddressDetailsstring requiredA full residential address, or (where no formal address exists) a description of where the applicant lives, sufficient for the IEC to confirm registration in the correct voting district and ward. Proof of address is not required, but giving false address information is a criminal offence. The live address-capture screen's exact field layout is gated behind a valid, registered ID number and was not reached this cycle — see VERIFICATION.md.
length: 1–500classification: pii
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice. It documents the provenance of the published fields and flow and states the current verification claim honestly.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-05
South Africa was the only one of this registry's 13 published jurisdictions with no voter-registration schema (all others have one published, or, for Singapore, a documented non-applicability finding — automatic/NRIC-based registration, GOV-1075). This closes that gap. Unlike South Africa's known login-gated Visa system (flagged open across three prior cycles — GOV-1174, GOV-1187, GOV-1201), the IEC's registertovote.elections.org.za VoterPortal is a public, unauthenticated self-registration platform and was directly reachable this cycle.
Access notes
registertovote.elections.org.zais a server-rendered Blazor application. It loaded cleanly over a direct headless-browser fetch (no bot-block, no Cloudflare/WAF challenge). Its home page ("Register to vote in-country" / "Apply for a special vote" / "Special vote application status" / "Recover user profile") was reached, and clicking through to "Register to vote in-country" → "Get started" reachedregistertovote.elections.org.za/voter/registration/za, the "Online voter self-registration — Identity verification" screen.- That screen's three controls were read directly from the live DOM: a text input with placeholder
Enter your 13-digit ID numberand HTMLmaxlength="13"; a checkbox whose label is the verbatim Section 97/section 88 Electoral Act declaration quoted ineligibilityDeclaration.sourceRef; and a file-upload control (id="fileInput"). - A syntactically-valid mock South African ID number was constructed (
900101birthdate +5800sequence +0SA-citizen digit +8+ correct Luhn check digit →9001015800082) and submitted. The platform rejected it with the on-page messageID number is invalid. Your ID number must be 13-digit South African ID number. Please re-enter your ID numberplus a modalInvalid ID Number / The ID number you have entered is not valid. Please check and try again.— this confirms the platform performs a real-time Department of Home Affairs population-register lookup against the ID number, not merely a 13-digit format check, and that no schema field beyond this first screen could be reached without a genuine, currently- registered South African ID number. Consistent with this registry's treatment of other identity-gated live flows (e.g.za/dha/smart-id-card-application,in/mca/company-incorporation-spice-plus), the remaining fields are sourced from the IEC's own static documentation instead of fabricated. - Two official IEC PDF factsheets were retrieved directly (HTTP 200, genuine text layer, extracted with
pdfjs-dist) and used to source the fields the live identity-verification screen does not cover:https://www.elections.org.za/pw/Documents/Outreach/Factsheets/Voter%20registration/IEC%20Online%20Voter%20Registration%20Factsheet.pdf(name/surname, contact details, OTP confirmation, address capture, ID-photo upload — its own numbered "How to register online?" list) andhttps://www.elections.org.za/pw/Documents/Outreach/Factsheets/Voter%20registration/IEC%20How%20to%20Register%20to%20Vote%20Factsheet.pdf(the address-sufficiency and false-information-is-a-crime guidance quoted inresidentialAddressDetails.sourceRef). - A third IEC document referenced from search results,
https://www.elections.org.za/content/Documents/Voter-education/Submit-online-address-guide-(PDF)/("Guide to registering on the My IEC portal and updating your address"), returned an HTTP 403 Cloudflare challenge to both direct fetch and this review's headless-browser tooling and was not used. - The static
https://www.elections.org.za/pw/voter/How-Do-I-Registerpage was fetched directly (HTTP 200 via headless browser, though the review's non-browser fetch tool alone returned a 403 challenge on the same URL) and used only as corroborating eligibility/channel context (citizenship, age 16+/18+, accepted ID document types, the five registration channels), not as a field source.
Sources examined
- Document
(id, version):za/iec/voter-registration/1.0.0 - Spec version: GovSchema
0.3.0 - Authority: Electoral Commission of South Africa (IEC)
- Primary source (live, directly reached, no block): https://registertovote.elections.org.za/voter/registration/za — "Online voter self-registration — Identity verification" screen
- Primary source (directly retrieved, HTTP 200, text layer extracted with pdfjs-dist): https://www.elections.org.za/pw/Documents/Outreach/Factsheets/Voter%20registration/IEC%20Online%20Voter%20Registration%20Factsheet.pdf
- Primary source (directly retrieved, HTTP 200, text layer extracted with pdfjs-dist): https://www.elections.org.za/pw/Documents/Outreach/Factsheets/Voter%20registration/IEC%20How%20to%20Register%20to%20Vote%20Factsheet.pdf
- Cross-check (directly retrieved via headless browser): https://www.elections.org.za/pw/voter/How-Do-I-Register
- Retrieved / reviewed: 2026-07-05
- Reviewer: GovSchema Engineering (initial authoring source-review)
What was confirmed against the source
| Source element | Field(s) | |---|---| | Live identity-verification screen — ID-number input (placeholder, maxlength 13) and its invalid-ID error text | idNumber | | Live identity-verification screen — Section 97/88 declaration checkbox (verbatim label) | eligibilityDeclaration | | Live identity-verification screen — file-upload control; Online Voter Registration Factsheet item 5 | idDocumentPhoto | | Online Voter Registration Factsheet, "How to register online?" item 3 | firstNames, surname, cellphoneNumber, emailAddress, otpCode | | Online Voter Registration Factsheet Privacy Notice ("we collect your email address and phone numbers...") | cellphoneNumber, emailAddress | | Online Voter Registration Factsheet item 4 ("Capture your address details"); How to Register to Vote Factsheet "REMEMBER" address-sufficiency/false-information guidance | residentialAddressDetails |
What is NOT yet independently verified
- The exact on-screen field layout, labels, and validation constraints for name/surname, contact details, OTP, and address capture — these screens sit behind a real-time Home Affairs ID-number lookup this review could not pass with a synthetic ID, so they are sourced from the IEC's own factsheet summaries rather than a direct DOM read.
firstNames/surname/cellphoneNumber/otpCode/residentialAddressDetailsare each flagged with this caveat in their owndescription. - Whether
firstNames/surnameare applicant-entered fields, or instead displayed read-only (pre-filled from the Home Affairs population register once the ID number validates) for the applicant to confirm — the factsheet's phrasing ("Enter your ID number, name and surname...") reads as data entry, but this was not confirmed on-screen. - Whether
emailAddressis truly optional in practice, or the portal in fact requires at least one of cellphone/email — modeled conservatively as cellphone required (it is the stated OTP-delivery channel) and email optional. - The exact structure of
residentialAddressDetails— whether the live screen splits it into discrete street/suburb/town/province/postal-code fields (as South Africa's own paper-era voter/civic forms typically did) or accepts free text, since South Africa's in-person registration process no longer uses a paper form with numbered address items (it is captured electronically via a handheld device at registration stations). Modeled conservatively as one free-text field per the factsheet's own "full residential address or a description of where you live" wording, rather than inventing a multi-field breakdown with no direct source. - The separate "Apply for a special vote" and "special vote application status" pathways on the same portal, and the distinct out-of-country registration process — out of scope per
description.
Path to a verified claim (next step)
To advance to status: verified, a reviewer applies manual-source-review-v1 (Procedure step 2) with a genuine, currently-registered South African ID number to walk the identity-verification → personal/contact/OTP → address-capture screens end to end; resolves any discrepancy from this version's factsheet-sourced fields by shipping a new schema version (immutability — VERSIONING §3, practice Procedure step 5); and records the outcome here plus sets status: verified with a current verification.lastVerifiedAt/nextReviewBy.
Test run
A mock application packet (conformance/za/iec/voter-registration/1.0.0/application-packet.json) models a South African citizen registering for the first time with a smart ID card, using a syntactically-valid but fabricated ID number. Independently checked with a from-scratch field-by-field validator (required-field presence, validation.pattern/minLength/maxLength/enum, eligibleValues routing): 9/9 fields collected, 0 violations. A mutation test confirmed the checker actually discriminates: flipping eligibilityDeclaration to false is correctly flagged as outside eligibleValues, and shortening idNumber to 123 is correctly flagged as failing its 13-digit pattern.
Re-verification
Per the practice's Cadence, nextReviewBy is set to 2027-01-05 (6 months). Re-check the sources on or before that date and on any source.url change, and sooner if the 2026 local government election is proclaimed (the factsheet states online registration is available "24/7 until the voters' roll closes when the election in question is proclaimed").
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Electoral Commission of South Africa or any government. The authoritative source is always the live government form and its official instructions.