{"id":18961,"date":"2026-09-17T12:39:20","date_gmt":"2026-09-17T10:39:20","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/werkzeuge\/isrc-upc-ean-iswc-validator\/"},"modified":"2026-09-17T14:28:32","modified_gmt":"2026-09-17T12:28:32","slug":"isrc-upc-ean-iswc-validator","status":"publish","type":"page","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/","title":{"rendered":"ISRC-, UPC\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes"},"content":{"rendered":"<div class=\"lw-codes\" id=\"codes-wurzel\" style=\"background: var(--bg-panel, #1e1e24); padding: 25px; border-radius: 8px; border: 1px solid var(--border, #2a2a35);\">\n<style>\n.lw-codes { --codes-warn: #e8a33d; }\n:root[data-theme=\"light\"] .lw-codes { --codes-warn: #8f5300; }\n.lw-codes textarea { width: 100%; min-height: 130px; box-sizing: border-box; padding: 10px 12px; background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); color: var(--text-primary, #e8e8ee); border-radius: 6px; font-family: monospace; font-size: 0.95rem; line-height: 1.5; resize: vertical; }\n.lw-codes .codes-reihe { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin: 12px 0 0; }\n.lw-codes .codes-knopf { background: var(--accent, #2ba6df); color: var(--on-accent, #0b1114); border: none; padding: 11px 22px; border-radius: 6px; font-weight: 700; cursor: pointer; }\n.lw-codes .codes-knopf2 { background: transparent; color: var(--text-secondary, #a0a0b0); border: 1px solid var(--border, #2a2a35); padding: 10px 14px; border-radius: 6px; cursor: pointer; }\n.lw-codes .codes-karte { background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); border-left-width: 3px; border-radius: 8px; padding: 12px 14px; margin: 0 0 10px; }\n.lw-codes .codes-karte.codes-ok { border-left-color: var(--ok, #7ee787); }\n.lw-codes .codes-karte.codes-fehler { border-left-color: var(--fail, #ff7b72); }\n.lw-codes .codes-karte.codes-warn { border-left-color: var(--codes-warn); }\n.lw-codes .codes-kopf { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }\n.lw-codes .codes-typ { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.4px; color: var(--text-secondary, #a0a0b0); }\n.lw-codes .codes-form { font-family: monospace; font-size: 1.12rem; font-weight: 700; color: var(--text-primary, #e8e8ee); word-break: break-all; }\n.lw-codes .codes-urteil { font-weight: 700; font-size: 0.9rem; }\n.lw-codes .codes-urteil.codes-ok { color: var(--ok, #7ee787); }\n.lw-codes .codes-urteil.codes-fehler { color: var(--fail, #ff7b72); }\n.lw-codes .codes-urteil.codes-warn { color: var(--codes-warn); }\n.lw-codes table { border-collapse: collapse; width: 100%; font-size: 0.86rem; margin-top: 8px; }\n.lw-codes th, .lw-codes td { text-align: left; padding: 5px 12px 5px 0; border-bottom: 1px solid var(--border, #2a2a35); vertical-align: top; }\n.lw-codes th { color: var(--text-secondary, #a0a0b0); font-weight: 400; white-space: nowrap; width: 1%; }\n.lw-codes td { color: var(--text-primary, #e8e8ee); }\n.lw-codes td code { font-family: monospace; }\n.lw-codes .codes-meldung { font-size: 0.86rem; color: var(--text-secondary, #a0a0b0); margin: 8px 0 0; line-height: 1.5; }\n.lw-codes .codes-h { font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 0.98rem; margin: 26px 0 8px; }\n.lw-codes .codes-klein { font-size: 0.84rem; color: var(--text-secondary, #a0a0b0); line-height: 1.55; }\n.lw-codes a { color: var(--accent, #2ba6df); }\n<\/style>\n<p style=\"color: var(--text-secondary, #a0a0b0); margin-bottom: 18px;\">Vertriebe und Verwertungsgesellschaften weisen Ver\u00f6ffentlichungen mit fehlerhaften Codes zur\u00fcck, und daf\u00fcr gen\u00fcgt schon ein Zahlendreher in einem UPC oder einer ISWC. Der Pr\u00fcfer erkennt ISRC-, UPC-A-, EAN-13- und ISWC-Codes in einer Liste, pr\u00fcft Aufbau und Pr\u00fcfziffern, gleicht ISRC-Pr\u00e4fixe mit der IFPI-Liste der g\u00fcltigen Codes ab, zerlegt jeden Code in seine Teile und nennt die richtige Pr\u00fcfziffer, wenn ein Code nicht aufgeht.<\/p>\n<p>    <label for=\"codes-eingabe\" class=\"codes-klein\" style=\"display: block; margin-bottom: 6px;\">Codes, einer je Zeile (Bindestriche, Punkte, Leerzeichen und Vors\u00e4tze wie \u201eISRC\u201c werden ignoriert)<\/label><br \/>\n    <textarea id=\"codes-eingabe\" spellcheck=\"false\" autocomplete=\"off\" placeholder=\"GBDUW0000059&#10;T-034.524.680-1&#10;036000291452\"><\/textarea><\/p>\n<div class=\"codes-reihe\">\n        <button id=\"codes-pruefen\" type=\"button\" class=\"codes-knopf\">Codes pr\u00fcfen<\/button><br \/>\n        <button id=\"codes-beispiele\" type=\"button\" class=\"codes-knopf2\">Beispiele laden<\/button><br \/>\n        <span id=\"codes-zaehler\" data-mp-mask class=\"codes-klein\" aria-live=\"polite\"><\/span>\n    <\/div>\n<div id=\"codes-ausgabe\" data-mp-mask style=\"margin-top: 18px;\" aria-live=\"polite\"><\/div>\n<div class=\"codes-h\">So sind die Codes aufgebaut<\/div>\n<p class=\"codes-klein\" style=\"margin: 0 0 6px;\">Der ISRC (International Standard Recording Code, ISO 3901) kennzeichnet eine Aufnahme: 12 Zeichen aus dem Pr\u00e4fix (zweistelliger Code aus der IFPI-Liste und dreistelliger Registrant-Code), den letzten beiden Ziffern des Bezugsjahres und einer f\u00fcnfstelligen Laufnummer. Eine Pr\u00fcfziffer hat er nicht; gepr\u00fcft werden deshalb Aufbau, Pr\u00e4fixliste und die F\u00e4lle, die das Pr\u00fcf-Bulletin der IFPI als ung\u00fcltig oder zweifelhaft nennt.<\/p>\n<p class=\"codes-klein\" style=\"margin: 0 0 6px;\">UPC-A und EAN-13 kennzeichnen das Release als Produkt. Die letzte Ziffer ist eine Pr\u00fcfziffer: Von rechts werden die Ziffern abwechselnd mit 3 und 1 gewichtet, und die Pr\u00fcfziffer erg\u00e4nzt die Summe auf das n\u00e4chste Vielfache von zehn. Aus einem UPC-A wird mit einer vorangestellten Null ein EAN-13.<\/p>\n<p class=\"codes-klein\" style=\"margin: 0 0 6px;\">Die ISWC (International Standard Musical Work Code, ISO 15707) kennzeichnet die Komposition, nicht die Aufnahme: T, neun Ziffern und eine Pr\u00fcfziffer. Das T z\u00e4hlt 1, jede der neun Ziffern wird mit ihrer Position (1 bis 9) multipliziert, und die Pr\u00fcfziffer erg\u00e4nzt die Summe auf das n\u00e4chste Vielfache von zehn.<\/p>\n<p class=\"codes-klein\" style=\"margin: 20px 0 0;\">Quellen: <a href=\"https:\/\/isrc.ifpi.org\/images\/downloads\/ISRC_Handbook.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">ISRC Handbook (IFPI)<\/a> \u00b7 <a href=\"https:\/\/isrc.ifpi.org\/images\/downloads\/Bulletin_2015-01_-_Validating_ISRC_Codes.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Validating an International Standard Recording Code (IFPI Bulletin 2015\/01)<\/a> \u00b7 <a href=\"https:\/\/isrc.ifpi.org\/images\/downloads\/Valid-Characters-in-the-ISRC-Prefix.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">ISRC Agency Code Allocations (IFPI)<\/a> \u00b7 <a href=\"https:\/\/www.iso.org\/standard\/83125.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 15707:2022 (ISWC)<\/a> \u00b7 <a href=\"https:\/\/www.gs1.org\/services\/how-calculate-check-digit-manually\" target=\"_blank\" rel=\"noopener noreferrer\">How to calculate a check digit manually (GS1)<\/a><\/p>\n<p class=\"codes-klein\" style=\"font-size: 0.8rem; margin: 14px 0 0;\">Alles l\u00e4uft im Browser. Gepr\u00fcft werden Aufbau und Pr\u00fcfziffern; ob ein Code tats\u00e4chlich vergeben wurde oder zu einem bestimmten Release geh\u00f6rt, kann nur die vergebende Stelle oder der Vertrieb best\u00e4tigen. Die Links zu MusicBrainz \u00f6ffnen die offene Musikdatenbank in einem neuen Tab und \u00fcbermitteln den Code erst dann.<\/p>\n<\/div>\n<p><script>\n(function () {\n    'use strict';<\/p>\n<p>    const T = {\"sprache\":\"de\",\"einleitung\":\"Vertriebe und Verwertungsgesellschaften weisen Ver\u00f6ffentlichungen mit fehlerhaften Codes zur\u00fcck, und daf\u00fcr gen\u00fcgt schon ein Zahlendreher in einem UPC oder einer ISWC. Der Pr\u00fcfer erkennt ISRC-, UPC-A-, EAN-13- und ISWC-Codes in einer Liste, pr\u00fcft Aufbau und Pr\u00fcfziffern, gleicht ISRC-Pr\u00e4fixe mit der IFPI-Liste der g\u00fcltigen Codes ab, zerlegt jeden Code in seine Teile und nennt die richtige Pr\u00fcfziffer, wenn ein Code nicht aufgeht.\",\"eingabe_label\":\"Codes, einer je Zeile (Bindestriche, Punkte, Leerzeichen und Vors\u00e4tze wie \u201eISRC\u201c werden ignoriert)\",\"knopf_pruefen\":\"Codes pr\u00fcfen\",\"knopf_beispiele\":\"Beispiele laden\",\"beispiele\":\"GBDUW0000059\\nus-um7-18-20728\\nUS-S1Z-26-00001\\nGB-000-00-00000\\nT-034.524.680-1\\nT-034.524.680-2\\n036000291452\\n4006381333931\\n4006381333932\",\"leer\":\"Keine Codes eingegeben.\",\"zaehler_satz\":\"{gesamt} Codes \u00b7 {ok} g\u00fcltig \u00b7 {warn} mit Hinweis \u00b7 {fehler} ung\u00fcltig\",\"typ_isrc\":\"ISRC\",\"typ_iswc\":\"ISWC\",\"typ_upc\":\"UPC-A (GTIN-12)\",\"typ_ean\":\"EAN-13 (GTIN-13)\",\"typ_gtin14\":\"GTIN-14\",\"typ_gtin8\":\"EAN-8 (GTIN-8)\",\"typ_unbekannt\":\"nicht erkannt\",\"urteil_ok\":\"g\u00fcltig\",\"urteil_warn\":\"g\u00fcltig, mit Hinweis\",\"urteil_fehler\":\"ung\u00fcltig\",\"teil_land\":\"L\u00e4ndercode\",\"teil_registrant\":\"Registrant-Code\",\"teil_jahr\":\"Bezugsjahr\",\"teil_bezeichnung\":\"Laufnummer\",\"teil_werknummer\":\"Werknummer\",\"teil_pruefziffer\":\"Pr\u00fcfziffer\",\"teil_ean\":\"Als EAN-13\",\"teil_upc\":\"Als UPC-A\",\"pruefziffer_satz\":\"angegeben {gegeben}, berechnet {soll}\",\"pruefziffer_falsch\":\"Die Pr\u00fcfziffer stimmt nicht; mit den angegebenen Ziffern muss sie {soll} lauten: {richtig}. Meist steckt der Fehler in einer der anderen Ziffern.\",\"isrc_laenge\":\"Ein ISRC hat 12 Zeichen; diese Eingabe hat ohne Trennzeichen {n}.\",\"isrc_land_zeichen\":\"Die ersten beiden Zeichen (L\u00e4ndercode) m\u00fcssen Buchstaben sein.\",\"isrc_reg_zeichen\":\"Zeichen 3 bis 5 (Registrant-Code) m\u00fcssen Buchstaben oder Ziffern sein.\",\"isrc_jahr_zeichen\":\"Zeichen 6 und 7 (Bezugsjahr) m\u00fcssen Ziffern sein.\",\"isrc_nr_zeichen\":\"Zeichen 8 bis 12 (Laufnummer) m\u00fcssen Ziffern sein.\",\"isrc_jahr_satz\":\"vergeben {jahr}\",\"iswc_ohne_t\":\"Eine ISWC beginnt mit dem Buchstaben T.\",\"iswc_laenge\":\"Nach dem T hat eine ISWC 10 Ziffern; diese Eingabe hat {n}.\",\"zehn_ziffern\":\"Zehn Ziffern ohne T k\u00f6nnten eine ISWC ohne Vorsatz sein. Geschrieben wird die ISWC mit f\u00fchrendem T, etwa T-034.524.680-1.\",\"ziffern_laenge\":\"{n} Ziffern passen weder zu UPC-A (12) noch zu EAN-13 (13), GTIN-14 (14) oder EAN-8 (8).\",\"nicht_erkannt\":\"Kein Muster von ISRC, UPC, EAN oder ISWC erkannt.\",\"gtin14_hinweis\":\"GTIN-14 kennzeichnet Handelseinheiten wie Kartons, kein Release; Shops und Vertriebe erwarten UPC-A oder EAN-13.\",\"gtin8_hinweis\":\"EAN-8 ist f\u00fcr kleine Verpackungen gedacht, nicht f\u00fcr Musikver\u00f6ffentlichungen.\",\"unbekannt\":\"unbekannt\",\"h_aufbau\":\"So sind die Codes aufgebaut\",\"erkl_isrc\":\"Der ISRC (International Standard Recording Code, ISO 3901) kennzeichnet eine Aufnahme: 12 Zeichen aus dem Pr\u00e4fix (zweistelliger Code aus der IFPI-Liste und dreistelliger Registrant-Code), den letzten beiden Ziffern des Bezugsjahres und einer f\u00fcnfstelligen Laufnummer. Eine Pr\u00fcfziffer hat er nicht; gepr\u00fcft werden deshalb Aufbau, Pr\u00e4fixliste und die F\u00e4lle, die das Pr\u00fcf-Bulletin der IFPI als ung\u00fcltig oder zweifelhaft nennt.\",\"erkl_upc\":\"UPC-A und EAN-13 kennzeichnen das Release als Produkt. Die letzte Ziffer ist eine Pr\u00fcfziffer: Von rechts werden die Ziffern abwechselnd mit 3 und 1 gewichtet, und die Pr\u00fcfziffer erg\u00e4nzt die Summe auf das n\u00e4chste Vielfache von zehn. Aus einem UPC-A wird mit einer vorangestellten Null ein EAN-13.\",\"erkl_iswc\":\"Die ISWC (International Standard Musical Work Code, ISO 15707) kennzeichnet die Komposition, nicht die Aufnahme: T, neun Ziffern und eine Pr\u00fcfziffer. Das T z\u00e4hlt 1, jede der neun Ziffern wird mit ihrer Position (1 bis 9) multipliziert, und die Pr\u00fcfziffer erg\u00e4nzt die Summe auf das n\u00e4chste Vielfache von zehn.\",\"quellen_titel\":\"Quellen\",\"grenze\":\"Alles l\u00e4uft im Browser. Gepr\u00fcft werden Aufbau und Pr\u00fcfziffern; ob ein Code tats\u00e4chlich vergeben wurde oder zu einem bestimmten Release geh\u00f6rt, kann nur die vergebende Stelle oder der Vertrieb best\u00e4tigen. Die Links zu MusicBrainz \u00f6ffnen die offene Musikdatenbank in einem neuen Tab und \u00fcbermitteln den Code erst dann.\",\"teil_agentur\":\"ISRC-Agentur\",\"isrc_praefix_unbekannt\":\"{code} steht nicht in der IFPI-Liste der g\u00fcltigen ISRC-Pr\u00e4fixe (Stand Januar 2026). An den ersten beiden Stellen sind nur Codes aus dieser Liste zul\u00e4ssig.\",\"isrc_beispiel\":\"Das Pr\u00e4fix {praefix} verwenden ISRC-Agenturen nur in Dokumentation und Schulungsunterlagen. Es wird nie vergeben, ein ISRC mit diesem Pr\u00e4fix ist deshalb immer ung\u00fcltig.\",\"isrc_tc_jahr\":\"Das Pr\u00e4fix TC nutzte fr\u00fcher TuneCore; ISRCs mit Bezugsjahr 26 oder sp\u00e4ter d\u00fcrfen es nicht mehr tragen.\",\"isrc_platzhalter\":\"Wiederholte gleiche Zeichen wie in GB-000-00-00000 deuten laut IFPI auf Platzhalter- oder Testdaten, die nicht f\u00fcr eine Ver\u00f6ffentlichung gedacht sind.\",\"isrc_jahr_alt\":\"In fr\u00fcheren Fassungen der Norm stand das Bezugsjahr f\u00fcr das Aufnahmejahr. {jahr} ist deshalb nur bei einer \u00e4lteren Aufnahme plausibel, nicht als Vergabejahr.\",\"isrc_jahr_satz_alt\":\"Aufnahmejahr {jahr} (fr\u00fchere Regel)\",\"isrc_art_w\":\"weltweit\",\"isrc_art_v\":\"weltweit, automatische Vergabe\",\"isrc_art_d\":\"weltweit, au\u00dferdem {tc}\",\"isrc_art_cs\":\"ehemals Serbien und Montenegro (vergeben vor 2006)\",\"isrc_art_yu\":\"ehemals Jugoslawien (vergeben vor 2003)\",\"isrc_art_im\":\"Isle of Man (fr\u00fcher vergeben; die Registranten betreut heute PPL UK)\",\"isrc_art_pr\":\"Puerto Rico (fr\u00fcher vergeben)\",\"isrc_art_tc\":\"fr\u00fcher von TuneCore genutzt\",\"iswc_null\":\"Die Werknummer 000000000 ist nicht zul\u00e4ssig; ISO 15707 erlaubt 000000001 bis 999999999.\",\"nachschlagen\":\"Nachschlagen:\",\"link_abfrage\":\"ISRC-, ISWC- und Barcode-Abfrage\",\"url_abfrage\":\"\\\/blog\\\/de\\\/werkzeuge\\\/isrc-iswc-barcode-lookup-musicbrainz\\\/\"};<\/p>\n<p>    \/\/ IFPI, ISRC Agency Code Allocations (Januar 2026): nur diese Zeichenpaare sind an den\n    \/\/ ersten beiden Stellen zulaessig (Bulletin 2015\/01). Wert: [Anzeigeland (leer = der Code\n    \/\/ selbst) oder Sonderart in Kleinbuchstaben, Index in AGENTUREN (-1 = keine)].\n    var AGENTUREN = [\"International ISRC Registration Authority\", \"CAPIF\", \"LSG\", \"ARIA\", \"COSCAP\", \"Pro-m\u00fasica Brazil\", \"SIMIM\", \"COSBOTS\", \"Re:Sound\", \"IFPI Switzerland\", \"IFPI Chile\", \"FONOTICA\", \"INTERGRAM\", \"BVMI\", \"GRAMEK DK\", \"SODINPRO\", \"EFU\", \"AGEDI\", \"IFPI Finland\", \"Recorded Music NZ\", \"SCPP\", \"PPL UK\", \"IFPI Greece\", \"IFPI (Hong Kong Group) Ltd\", \"ASIRI\", \"PPI\", \"IFPI Israel\", \"IMI\", \"SFH\", \"FIMI\", \"JAMMS\", \"RIAJ\", \"KMCA\", \"AGATA\", \"LaIPA\", \"AMPROFON\", \"RIM\", \"SENA\", \"Gramo\", \"PRODUCE\", \"UNIMPRO\", \"PARI\", \"ZPAV\", \"AFP\", \"SGP\", \"RIAA\", \"UPFR\", \"IFPI Sweden\", \"Recording Industry Association Singapore\", \"SLOVGRAM\", \"TECA\", \"MU-YAP\", \"COTT\", \"RIT\", \"Ukrainian Music Alliance\", \"Camara Uruguaya Del Disco\", \"RISA\"];\n    var PRAEFIXE = {AD:[\"\",0],AE:[\"\",0],AF:[\"\",0],AG:[\"\",0],AI:[\"\",0],AL:[\"\",0],AM:[\"\",0],AO:[\"\",0],AR:[\"\",1],AT:[\"\",2],AU:[\"\",3],AW:[\"\",0],AZ:[\"\",0],BA:[\"\",0],BB:[\"\",4],BC:[\"BR\",5],BD:[\"\",0],BE:[\"\",6],BF:[\"\",0],BG:[\"\",0],BH:[\"\",0],BI:[\"\",0],BJ:[\"\",0],BK:[\"BR\",5],BM:[\"\",0],BN:[\"\",0],BO:[\"\",0],BP:[\"BR\",5],BR:[\"\",5],BS:[\"\",0],BT:[\"\",0],BW:[\"\",7],BX:[\"BR\",5],BY:[\"\",0],BZ:[\"\",0],CA:[\"\",8],CB:[\"CA\",8],CD:[\"\",0],CF:[\"\",0],CG:[\"\",0],CH:[\"\",9],CI:[\"\",0],CL:[\"\",10],CM:[\"\",0],CN:[\"\",0],CO:[\"\",0],CP:[\"w\",0],CR:[\"\",11],CS:[\"cs\",0],CU:[\"\",0],CV:[\"\",0],CW:[\"\",0],CY:[\"\",0],CZ:[\"\",12],DE:[\"\",13],DG:[\"d\",0],DJ:[\"\",0],DK:[\"\",14],DM:[\"\",0],DO:[\"\",15],DZ:[\"\",0],EC:[\"\",0],EE:[\"\",16],EG:[\"\",0],ER:[\"\",0],ES:[\"\",17],ET:[\"\",0],FI:[\"\",18],FJ:[\"\",19],FO:[\"DK\",14],FR:[\"\",20],FX:[\"FR\",20],GA:[\"\",0],GB:[\"\",21],GD:[\"\",0],GE:[\"\",0],GG:[\"\",0],GH:[\"\",0],GI:[\"\",0],GL:[\"DK\",14],GM:[\"\",0],GN:[\"\",0],GQ:[\"\",0],GR:[\"\",22],GT:[\"\",0],GW:[\"\",0],GX:[\"GB\",21],GY:[\"\",0],HK:[\"\",23],HN:[\"\",0],HR:[\"\",0],HT:[\"\",0],HU:[\"\",0],ID:[\"\",24],IE:[\"\",25],IL:[\"\",26],IM:[\"im\",0],IN:[\"\",27],IQ:[\"\",0],IR:[\"\",0],IS:[\"\",28],IT:[\"\",29],JE:[\"\",0],JM:[\"\",30],JO:[\"\",0],JP:[\"\",31],KE:[\"\",0],KG:[\"\",0],KH:[\"\",0],KM:[\"\",0],KN:[\"\",0],KR:[\"\",32],KS:[\"KR\",32],KW:[\"\",0],KY:[\"\",0],KZ:[\"\",0],LA:[\"\",0],LB:[\"\",0],LC:[\"\",0],LI:[\"\",9],LK:[\"\",0],LR:[\"\",0],LS:[\"\",0],LT:[\"\",33],LU:[\"\",6],LV:[\"\",34],MA:[\"\",0],MC:[\"\",0],MD:[\"\",0],ME:[\"\",0],MF:[\"\",0],MG:[\"\",0],MK:[\"\",0],ML:[\"\",0],MM:[\"\",0],MN:[\"\",0],MO:[\"\",0],MP:[\"\",0],MR:[\"\",0],MS:[\"\",0],MT:[\"\",0],MU:[\"\",0],MV:[\"\",0],MW:[\"\",0],MX:[\"\",35],MY:[\"\",36],MZ:[\"\",0],NA:[\"\",0],NE:[\"\",0],NG:[\"\",0],NI:[\"\",0],NL:[\"\",37],NO:[\"\",38],NP:[\"\",0],NZ:[\"\",19],OM:[\"\",0],PA:[\"\",39],PE:[\"\",40],PF:[\"\",0],PG:[\"\",0],PH:[\"\",41],PK:[\"\",0],PL:[\"\",42],PR:[\"pr\",0],PS:[\"\",0],PT:[\"\",43],PY:[\"\",44],QA:[\"\",0],QM:[\"US\",45],QN:[\"w\",0],QR:[\"BR\",5],QT:[\"US\",45],QZ:[\"US\",45],RO:[\"\",46],RS:[\"\",0],RU:[\"\",0],RW:[\"\",0],SA:[\"\",0],SB:[\"\",0],SC:[\"\",0],SD:[\"\",0],SE:[\"\",47],SG:[\"\",48],SI:[\"\",0],SK:[\"\",49],SL:[\"\",0],SM:[\"\",0],SN:[\"\",0],SO:[\"\",0],SR:[\"\",0],SS:[\"\",0],ST:[\"\",0],SV:[\"\",0],SX:[\"\",0],SY:[\"\",0],SZ:[\"\",0],TC:[\"tc\",-1],TD:[\"\",0],TG:[\"\",0],TH:[\"\",50],TL:[\"\",0],TN:[\"\",0],TO:[\"\",19],TR:[\"\",51],TT:[\"\",52],TW:[\"\",53],TZ:[\"\",0],UA:[\"\",54],UG:[\"\",0],UK:[\"GB\",21],US:[\"\",45],UY:[\"\",55],UZ:[\"\",0],VC:[\"\",0],VE:[\"\",0],VG:[\"\",0],VN:[\"\",0],VU:[\"\",0],VV:[\"v\",0],XK:[\"\",0],YE:[\"\",0],YU:[\"yu\",0],ZA:[\"\",56],ZB:[\"ZA\",56],ZM:[\"\",0],ZW:[\"\",0],ZZ:[\"w\",0]};\n    \/\/ Nur fuer Dokumentation und Schulung, werden nie vergeben (Bulletin 2015\/01).\n    var BEISPIEL_PRAEFIXE = ['USS1Z', 'JMK40'];<\/p>\n<p>    \/\/ Oeffentliche Musikdatenbank (Kerndaten CC0); die Links oeffnet erst ein Klick.\n    var MB = 'https:\/\/musicbrainz.org\/';<\/p>\n<p>    \/\/ --- Pruefziffern -----------------------------------------------------------\n    \/\/ GS1: von rechts (ohne Pruefziffer) abwechselnd *3 und *1, Summe auf den\n    \/\/ naechsten Zehner ergaenzen. Gilt fuer GTIN-8, -12 (UPC-A), -13 (EAN), -14.\n    function gs1Pruefziffer(ohne) {\n        var summe = 0;\n        for (var i = ohne.length - 1, faktor = 3; i >= 0; i--, faktor = faktor === 3 ? 1 : 3) {\n            summe += (ohne.charCodeAt(i) - 48) * faktor;\n        }\n        return (10 - summe % 10) % 10;\n    }\n    \/\/ ISWC: 1 fuer das T, dann Ziffer i (1..9) mal i; Pruefziffer ergaenzt auf 10.\n    function iswcPruefziffer(neun) {\n        var summe = 1;\n        for (var i = 0; i < 9; i++) { summe += (i + 1) * (neun.charCodeAt(i) - 48); }\n        return (10 - summe % 10) % 10;\n    }\n\n    \/\/ --- Erkennen und Pruefen ------------------------------------------------------\n    function bereinigen(roh) {\n        return String(roh).trim().toUpperCase().replace(\/^ISRC[:\\s]*\/, '').replace(\/^ISWC[:\\s]*\/, '')\n            .replace(\/^(UPC|EAN|GTIN)[-\\s:]*\/, '').replace(\/[\\s.\\-_\u2010-\u2015]\/g, '');\n    }\n\n    function regionName(code) {\n        try {\n            if (typeof Intl !== 'undefined' &#038;&#038; Intl.DisplayNames) {\n                var n = new Intl.DisplayNames([T.sprache], { type: 'region' }).of(code);\n                if (n &#038;&#038; n !== code) { return n; }\n            }\n        } catch (e) { \/* unbekannter Code *\/ }\n        return null;\n    }\n\n    \/\/ Zweistelliges Bezugsjahr: bis zum laufenden Jahr 20xx, darueber 19xx.\n    function jahrLesen(yy, jetzt) {\n        var j = parseInt(yy, 10), heute = (jetzt || new Date()).getFullYear() % 100;\n        return j <= heute ? 2000 + j : 1900 + j;\n    }\n\n    \/\/ Anzeigename des Praefixes; null, wenn es nicht in der IFPI-Liste steht.\n    function praefixName(land) {\n        var p = PRAEFIXE[land];\n        if (!p) { return null; }\n        var art = p[0];\n        if (art === '' || \/^[A-Z]{2}$\/.test(art)) { return regionName(art || land) || (art || land); }\n        if (art === 'd') { return text('isrc_art_d', { tc: regionName('TC') || 'Turks and Caicos Islands' }); }\n        return T['isrc_art_' + art];\n    }\n\n    function pruefeIsrc(c, jetzt) {\n        var e = { typ: 'isrc', eingabe: c, teile: [], meldungen: [], urteil: 'ok' };\n        if (c.length !== 12) { e.urteil = 'fehler'; e.meldungen.push(text('isrc_laenge', { n: c.length })); return e; }\n        var land = c.slice(0, 2), reg = c.slice(2, 5), yy = c.slice(5, 7), nr = c.slice(7);\n        if (!\/^[A-Z]{2}$\/.test(land)) { e.urteil = 'fehler'; e.meldungen.push(T.isrc_land_zeichen); }\n        if (!\/^[A-Z0-9]{3}$\/.test(reg)) { e.urteil = 'fehler'; e.meldungen.push(T.isrc_reg_zeichen); }\n        if (!\/^\\d{2}$\/.test(yy)) { e.urteil = 'fehler'; e.meldungen.push(T.isrc_jahr_zeichen); }\n        if (!\/^\\d{5}$\/.test(nr)) { e.urteil = 'fehler'; e.meldungen.push(T.isrc_nr_zeichen); }\n        e.form = land + '-' + reg + '-' + yy + '-' + nr;\n        if (e.urteil === 'fehler') { return e; }\n        var name = praefixName(land), jahr = jahrLesen(yy, jetzt);\n        e.teile.push([T.teil_land, land + ' \u00b7 ' + (name || T.unbekannt)]);\n        if (name &#038;&#038; PRAEFIXE[land][1] >= 0) { e.teile.push([T.teil_agentur, AGENTUREN[PRAEFIXE[land][1]]]); }\n        e.teile.push([T.teil_registrant, reg]);\n        e.teile.push([T.teil_jahr, yy + ' \u00b7 ' + text(jahr < 1986 ? 'isrc_jahr_satz_alt' : 'isrc_jahr_satz', { jahr: jahr })]);\n        e.teile.push([T.teil_bezeichnung, nr]);\n        if (!name) {\n            e.urteil = 'fehler';\n            e.meldungen.push(text('isrc_praefix_unbekannt', { code: land }));\n        }\n        if (BEISPIEL_PRAEFIXE.indexOf(land + reg) !== -1) {\n            e.urteil = 'fehler';\n            e.meldungen.push(text('isrc_beispiel', { praefix: land + '-' + reg }));\n        }\n        if (land === 'TC' &#038;&#038; parseInt(yy, 10) >= 26) {\n            e.urteil = 'fehler';\n            e.meldungen.push(T.isrc_tc_jahr);\n        }\n        if (e.urteil !== 'fehler') {\n            var platzhalter = \/^(.)\\1{9}$\/.test(reg + yy + nr);\n            if (platzhalter) { e.urteil = 'warn'; e.meldungen.push(T.isrc_platzhalter); }\n            if (jahr < 1986) { e.urteil = 'warn'; e.meldungen.push(text('isrc_jahr_alt', { jahr: jahr })); }\n            if (!platzhalter) { e.link = MB + 'isrc\/' + c; e.abfrage = T.url_abfrage + '#code=' + c; }\n        }\n        return e;\n    }\n\n    function pruefeIswc(c) {\n        var e = { typ: 'iswc', eingabe: c, teile: [], meldungen: [], urteil: 'ok' };\n        if (!\/^T\\d{10}$\/.test(c)) {\n            e.urteil = 'fehler';\n            e.meldungen.push(\/^T\/.test(c) ? text('iswc_laenge', { n: c.length - 1 }) : T.iswc_ohne_t);\n            return e;\n        }\n        var neun = c.slice(1, 10), gegeben = c.charCodeAt(10) - 48, soll = iswcPruefziffer(neun);\n        e.form = 'T-' + neun.slice(0, 3) + '.' + neun.slice(3, 6) + '.' + neun.slice(6, 9) + '-' + gegeben;\n        e.teile.push([T.teil_werknummer, neun]);\n        e.teile.push([T.teil_pruefziffer, text('pruefziffer_satz', { gegeben: gegeben, soll: soll })]);\n        if (neun === '000000000') {\n            e.urteil = 'fehler';\n            e.meldungen.push(T.iswc_null);\n        } else if (gegeben !== soll) {\n            e.urteil = 'fehler';\n            e.meldungen.push(text('pruefziffer_falsch', { soll: soll, richtig: 'T-' + neun.slice(0, 3) + '.' + neun.slice(3, 6) + '.' + neun.slice(6, 9) + '-' + soll }));\n        }\n        if (e.urteil === 'ok') { e.link = MB + 'iswc\/' + e.form; e.abfrage = T.url_abfrage + '#code=' + e.form; }\n        return e;\n    }\n\n    function pruefeGtin(c) {\n        var typ = c.length === 12 ? 'upc' : (c.length === 13 ? 'ean' : (c.length === 14 ? 'gtin14' : 'gtin8'));\n        var e = { typ: typ, eingabe: c, form: c, teile: [], meldungen: [], urteil: 'ok' };\n        var gegeben = c.charCodeAt(c.length - 1) - 48, soll = gs1Pruefziffer(c.slice(0, -1));\n        e.teile.push([T.teil_pruefziffer, text('pruefziffer_satz', { gegeben: gegeben, soll: soll })]);\n        if (gegeben !== soll) {\n            e.urteil = 'fehler';\n            e.meldungen.push(text('pruefziffer_falsch', { soll: soll, richtig: c.slice(0, -1) + soll }));\n        }\n        if (typ === 'upc') {\n            e.teile.push([T.teil_ean, '0' + c]);\n        } else if (typ === 'ean' &#038;&#038; c.charAt(0) === '0') {\n            e.teile.push([T.teil_upc, c.slice(1)]);\n        } else if (typ === 'gtin14') {\n            e.urteil = e.urteil === 'fehler' ? 'fehler' : 'warn';\n            e.meldungen.push(T.gtin14_hinweis);\n        } else if (typ === 'gtin8') {\n            e.urteil = e.urteil === 'fehler' ? 'fehler' : 'warn';\n            e.meldungen.push(T.gtin8_hinweis);\n        }\n        if (e.urteil === 'ok' &#038;&#038; (typ === 'upc' || typ === 'ean')) { e.link = MB + 'search?query=barcode%3A' + c + '&#038;type=release&#038;method=advanced'; e.abfrage = T.url_abfrage + '#code=' + c; }\n        return e;\n    }\n\n    function pruefeEinen(roh, jetzt) {\n        var c = bereinigen(roh);\n        if (!c) { return null; }\n        if (\/^T\/.test(c) &#038;&#038; \/^T[\\d]*$\/.test(c)) { return pruefeIswc(c); }\n        if (\/^\\d+$\/.test(c)) {\n            if (c.length === 8 || c.length === 12 || c.length === 13 || c.length === 14) { return pruefeGtin(c); }\n            if (c.length === 10) {\n                return { typ: 'unbekannt', eingabe: c, teile: [], meldungen: [T.zehn_ziffern], urteil: 'fehler' };\n            }\n            return { typ: 'unbekannt', eingabe: c, teile: [], meldungen: [text('ziffern_laenge', { n: c.length })], urteil: 'fehler' };\n        }\n        if (\/^[A-Z]{2}\/.test(c) || c.length === 12) { return pruefeIsrc(c, jetzt); }\n        return { typ: 'unbekannt', eingabe: c, teile: [], meldungen: [T.nicht_erkannt], urteil: 'fehler' };\n    }\n\n    function zerlegen(text) {\n        return String(text).split(\/[\\n,;\\t]+\/).map(function (s) { return s.trim(); }).filter(function (s) { return s !== ''; });\n    }\n\n    \/\/ --- Darstellung --------------------------------------------------------------\n    function text(schluessel, werte) {\n        return String(T[schluessel]).replace(\/\\{(\\w+)\\}\/g, function (m, k) { return werte &#038;&#038; werte[k] !== undefined ? werte[k] : m; });\n    }\n    function el(id) { return document.getElementById(id); }\n    function neu(tag, klasse, inhalt) {\n        var x = document.createElement(tag);\n        if (klasse) { x.className = klasse; }\n        if (inhalt !== undefined) { x.textContent = inhalt; }\n        return x;\n    }\n\n    function karte(e, roh) {\n        var k = neu('div', 'codes-karte codes-' + e.urteil);\n        var kopf = neu('div', 'codes-kopf');\n        kopf.appendChild(neu('span', 'codes-typ', T['typ_' + e.typ]));\n        kopf.appendChild(neu('span', 'codes-form', e.form || roh));\n        kopf.appendChild(neu('span', 'codes-urteil codes-' + e.urteil, T['urteil_' + e.urteil]));\n        k.appendChild(kopf);\n        if (e.teile.length) {\n            var tab = neu('table');\n            e.teile.forEach(function (t) {\n                var tr = neu('tr');\n                tr.appendChild(neu('th', '', t[0]));\n                tr.appendChild(neu('td', '', t[1]));\n                tab.appendChild(tr);\n            });\n            k.appendChild(tab);\n        }\n        e.meldungen.forEach(function (m) { k.appendChild(neu('p', 'codes-meldung', m)); });\n        if (e.link) {\n            var zeile = neu('p', 'codes-meldung', T.nachschlagen + ' ');\n            var a = neu('a', '', 'MusicBrainz');\n            a.href = e.link;\n            a.target = '_blank';\n            a.rel = 'noopener noreferrer';\n            zeile.appendChild(a);\n            if (e.abfrage) {\n                \/\/ eigene Abfrage mit Code im Fragment: der Code erreicht den Server erst beim Nachschlagen\n                zeile.appendChild(document.createTextNode(' \u00b7 '));\n                var b = neu('a', '', T.link_abfrage);\n                b.href = e.abfrage;\n                zeile.appendChild(b);\n            }\n            k.appendChild(zeile);\n        }\n        return k;\n    }\n\n    function pruefenUndZeigen() {\n        var ausgabe = el('codes-ausgabe'), zaehler = el('codes-zaehler');\n        var liste = zerlegen(el('codes-eingabe').value).slice(0, 500);\n        ausgabe.textContent = '';\n        var anzahl = { ok: 0, warn: 0, fehler: 0 };\n        liste.forEach(function (roh) {\n            var e = pruefeEinen(roh);\n            if (!e) { return; }\n            anzahl[e.urteil]++;\n            ausgabe.appendChild(karte(e, roh));\n        });\n        zaehler.textContent = liste.length ? text('zaehler_satz', { gesamt: liste.length, ok: anzahl.ok, warn: anzahl.warn, fehler: anzahl.fehler }) : T.leer;\n        return anzahl;\n    }\n\n    window.LW_TEST = window.LW_TEST || {};\n    window.LW_TEST.CODES = {\n        T: T, PRAEFIXE: PRAEFIXE, AGENTUREN: AGENTUREN, gs1Pruefziffer: gs1Pruefziffer, iswcPruefziffer: iswcPruefziffer, bereinigen: bereinigen,\n        pruefeEinen: pruefeEinen, pruefeIsrc: pruefeIsrc, pruefeIswc: pruefeIswc, pruefeGtin: pruefeGtin, zerlegen: zerlegen,\n        jahrLesen: jahrLesen, regionName: regionName, praefixName: praefixName, pruefenUndZeigen: pruefenUndZeigen\n    };\n\n    if (!el('codes-wurzel') || !el('codes-eingabe')) { return; }\n    el('codes-pruefen').addEventListener('click', pruefenUndZeigen);\n    el('codes-beispiele').addEventListener('click', function () {\n        el('codes-eingabe').value = T.beispiele;\n        pruefenUndZeigen();\n    });\n    var warten = null;\n    el('codes-eingabe').addEventListener('input', function () {\n        clearTimeout(warten);\n        warten = setTimeout(pruefenUndZeigen, 400);\n    });\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00fcft ISRC-, UPC-, EAN-13- und ISWC-Codes aus einer Liste: erkennt den Typ, pr\u00fcft Aufbau und Pr\u00fcfziffern, gleicht ISRC-Pr\u00e4fixe mit der IFPI-Liste ab, erkl\u00e4rt jeden Teil und rechnet zwischen UPC-A und EAN-13 um.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":9283,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-tool-base.php","meta":{"footnotes":""},"tags":[92903],"class_list":["post-18961","page","type-page","status-publish","hentry","tag-music-production-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ISRC-, UPC\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ISRC-, UPC\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Pr\u00fcft ISRC-, UPC-, EAN-13- und ISWC-Codes aus einer Liste: erkennt den Typ, pr\u00fcft Aufbau und Pr\u00fcfziffern, gleicht ISRC-Pr\u00e4fixe mit der IFPI-Liste ab, erkl\u00e4rt jeden Teil und rechnet zwischen UPC-A und EAN-13 um.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-17T12:28:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/isrc-upc-ean-iswc-validator\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/isrc-upc-ean-iswc-validator\\\/\",\"name\":\"ISRC-, UPC\\\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-17T10:39:20+00:00\",\"dateModified\":\"2026-09-17T12:28:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/isrc-upc-ean-iswc-validator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/isrc-upc-ean-iswc-validator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/isrc-upc-ean-iswc-validator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Toolbox\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/toolbox-2\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ISRC-, UPC\\\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ISRC-, UPC\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/","og_locale":"en_US","og_type":"article","og_title":"ISRC-, UPC\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes - Lukas Wojcik - Blog","og_description":"Pr\u00fcft ISRC-, UPC-, EAN-13- und ISWC-Codes aus einer Liste: erkennt den Typ, pr\u00fcft Aufbau und Pr\u00fcfziffern, gleicht ISRC-Pr\u00e4fixe mit der IFPI-Liste ab, erkl\u00e4rt jeden Teil und rechnet zwischen UPC-A und EAN-13 um.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/","og_site_name":"Lukas Wojcik - Blog","article_modified_time":"2026-09-17T12:28:32+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/","name":"ISRC-, UPC\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-09-17T10:39:20+00:00","dateModified":"2026-09-17T12:28:32+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/isrc-upc-ean-iswc-validator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Toolbox","item":"https:\/\/www.lukaswojcik.com\/blog\/toolbox-2\/"},{"@type":"ListItem","position":3,"name":"ISRC-, UPC\/EAN- und ISWC-Pr\u00fcfer: Aufbau und Pr\u00fcfziffern von Release-Codes"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/18961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=18961"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/18961\/revisions"}],"predecessor-version":[{"id":19610,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/18961\/revisions\/19610"}],"up":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/9283"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=18961"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=18961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}